Тогда еще раз!
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)
Пытаюсь наладить обмен между двумя мегами по 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