Цитата
Единственный вариант проверять TWSR на отсутствие АСК и врубать сторожевого таймера на сброс.
Но тогда вопрос ,сохраняються ли значения регистров и оперативки при таком сбросе?
Чтобы программа могла успешно продолжать передачу а не циклиться на одном и том же.
Да и такие маневры программы меня не очень радуют.
Я тоже думаю, что это не нужно... полная кривизна программы получится
Цитата
Пишу на графическом асме,его здесь не нарисовать,хотя код в пол мизинца,опишу.
Здесь без использования прерывания по TWI
#H02->TWBR // Устанавливаем SCL 100000Гц
#H02->TWSR //
#HA4->TWCR // Включение и старт TWI
<TWINT=0> // Ждем пока TWINT=0 если TWINT= 1 идем дальше
#H40->TWDR // Записываем адресс устройства (40 HEX) в TWDR
#H84->TWCR // Отправляем адресс устройства
<TWINT=0> // Ждем пока TWINT=0 если TWINT= 1 идем дальше
#HFF->TWDR // Записываем данные для передачи (FF HEX) в TWDR
#H84->TWCR // Отправляем данные
<TWINT=0> // Ждем пока TWINT=0 если TWINT= 1 идем дальше
#H94->TWCR // Стоп
Все,если прога по второму кругу идет ,в ответ тишина.
Тяжело мне это все понять (мой комп на работе в ремонте, а там все даташиты и исходники, так что не могу сверится с документацией

)
Единственное как вариант, могу посоветовать поискать ниже по форуму ветки по TWI... их было около 2-3... там я выкладывал рабочие, прокомментированные исходники на Си. Правда в текстах отсутствует проверка на ошибки шины. Если Вы не знаете Си, то все равно там все должно быть понятно, код очень простой.
Выбор.