Помогите совладать с обменом по SPI
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

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

Отправлено OIS 28 января 2005 г. 11:34

Пытаюсь наладить обмен между двумя мегами по SPI интерфейсу. Мега128 конфигурируется как мастер. Инициализация ее выглядит так:
DDRB = (1<
SPCR = (1< SPSR |= (1<
IOReg = SPSR;
IOReg = SPDR;
и работает на 16МГц.

Вторая Мега8 инициализируется как слейв следующим образом:
DDRB |= (1<и работает на 8-и МГц.
В слейве для определения момента окончания приема используется оператор вида:
while(!(SPSR & (1<но почему-то он никогда не завершается, т.к. после него у меня должен зажечься индикатор - а он не зажигается. Хотя вроде бы обмен по SPI идет, т.к. если отключаю слейва то принимаю мастером все время FF. А если слейв висит то иногда возвращает то что отправлено. В чем тут может быть причина. Помогите, плз, не дайте пропасть!


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

Ответы



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

E-mail: info@telesys.ru