@BadElectrician
C++ это хобби

Кто работал с two wire interface (I2C), почему так сложно получить подтверждения передачи адреса и данных?

ATmega8, аппаратный интерфейс TWI, прочитал даташит, схему собрал на монтажке, мастер передатчик ATmega8, слайв приёмник PCF8574. Для подтяжки линий SCL, SDA к VCC использовал внутренние резисторы ATmega8. Используя пример в даташит, набрал код на AVR ASM и запустил для начала в Протеусе 8. Работает безошибочно, подтверждая все действия. Тактовая частота ATmega8 7372800 Гц, TWI передатчик настроил на 100 кГц. В реальности передатчик пускается и частота соответствует выбранной, но получение адресса(0х40) и данных(0хff) не сопровождаются верными кодами подтверждения. Состояние выводов PCF8574 не изменилось. На сколько значительно влияют особенности монтажа PCF8574 и что вообще не так? Программно в Протеусе вроде Ок.
  • Вопрос задан
  • 320 просмотров
Решения вопроса 1
@vanyamba-electronics
Почему-то подтяжки, встроенные в ATmega, с интерфейсом TWI не работают. Нужно физические резисторы добавить.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@zmHist
занимаюсь сейчас практически тем же самым. если не жалко и сохранлся, можешь поделиться кодом?
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы