Проблемы с TWI в Mega16
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

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

Отправлено Илья Гаврилов 09 апреля 2005 г. 18:34

Решил тут связать две меги по тви. Поскольку данные появляются асинхронно, решил обе сделать мастером: когда процессор хочет что-то вякнуть и шина свободна, он дает старт, передает что ему надо и говорит стоп; если он сам в этот момент принимает, взводится флажок, и процессор говорит старт после того, как видит стоп. Это даже работает, но спустя какое-то время виснет, и виснет странно: шина свободна (SDA==1 && SCL==1), последний статус одного процессора TWI_MTX_DATA_ACK (0x28), другого TWI_SRX_STOP_RESTART (0xA0), функция, прописывающая START в TWCR на обоих вызывается, но на шине ничего не происходит. Из-за чего такое может быть?


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

Ответы



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

E-mail: info@telesys.ru