fk0, легенда (04.02.2013 21:02, просмотров: 143) ответил whale на насчет сброса
Всё НЕ В ПОРЯДКЕ. На N/ACK вообще расчитывать нельзя, но даже не в том дело. "Зависать" может на более низком уровне: слейв увидел лишний клок, например, где его нет (помеха). И в ACK ему подошёл какой нужно битик. А дальше висит с SDA=0 ожидая оставшихся 8 клоков. А мастер их ему не даёт, у него давно коллизия. Таймауты нужны. В том числе и потому, что конкретно ATMEL AVR ещё то говно, у него арбитраж и stop condition работают только в межбайтовых интервалах, в остальное время х.з. что (потому и TWI, а не I2C, ибо не соответствует, только EEPROM и подключать, для всего остального -- глюкодром).
[ZX]