C i2c работаю через i2c-dev драйвер linux (i2c-at91.c). Плата на базе at91rm9200. Подключал к выводам TWI eeprom(AT24C02) и самодельный девайс.
Я пытаюсь записывать в eeprom. Через некоторое время(может несколько секунд проработать а может и полчаса) драйвер возвращает ошибку connection timeout. При этом линия данных падает в 0.
Если после этого twi в процессоре перезагрузть(записать в SWRST 1) и перенастроить, то линия данных восстанавливается и обмен можно продолжать до следующего глюка.
Без linux twi работает стабильно. Никто не встречался с подобным?
|