вот 100% рабочий пример - недавно делал и запускал
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено bialix 19 февраля 2004 г. 14:40
В ответ на: Ответ: отправлено aranei 19 февраля 2004 г. 13:59


// SPI.C

// работа с SPI ADuC812

#include

//----------------------------------------------------------------
void spi_init(void)
{
// инициализируем регистр SPICON
SPIM = 1;
CPOL = 1;
CPHA = 0;
SPR1 = 0;
SPR0 = 1;
SPE = 1; // поехали!
}
//----------------------------------------------------------------
// передать массив байт
// вход - указатель на массив в idata
// количество байт на передачу
// выход - все прочитанные данные пишутся в тот же массив

void spi_tx( unsigned char idata *array,
unsigned char count)
{
unsigned char idata *pidata;

if ( count == 0 ) return;

pidata = array;
do
{
ISPI = 0;
SPIDAT = *pidata; // записали
while( !ISPI );
*pidata = SPIDAT; // прочли
pidata++;
} while ( --count );
}
//----------------------------------------------------------------


Составить ответ  |||  Конференция  |||  Архив

Ответы



Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru