У меня была подобная проблема - диагноз ставил следующим образом - подключал на свободный порт 4 светодида и после прохода каждого этапа обмена адрес - подтверждение - рестарт итп. писал заветное число в порт.Причину зависания выловил довольно быстро.
Это я к чему - моделировать обмен не стоит, а вот четкое понимание места в котором зависли уже половина решения. По моим наблюдениям обычно вис идет по причине неотданного/ непринятого ACK. По поводу растягивания тактов - думаю проблема не в этом - насколько я помню AVR-TWI конечный автомат управляемый фронтами на 2-х ногах, лишняя пара микросекунд каши не испортит.
--------------------
Вони шукають те, чого нема, Щоб довести, що його не існує.
|