Цитата(aaarrr @ Jan 13 2010, 02:50)

Не вижу смысла программно реанимировать откровенно корявое железо. Ерраты и раздела Troubleshooting AT91-AN01 должно быть достаточно для принятия единственно верного решения - отказаться от TWI.
В противном случае придется подтачивать напильником драйвер под некоторые слейвы. А в какой-то момент даже для самого супер-пупер круто написанного драйвера такая необходимость все равно возникнет, и не факт, что потраченные на разборки часы приведут к положительному результату. Поверьте моему опыту.
Вся эта возня с TWI от безысходности, нужно поддерживать старые разработки.
Тут на объекте поймали эфект(видимо помехи) сходный с закороткой отверткой SDA и SCL,
модуль TWI просто подвисал после длительной работы.
Использовать софтовый I2C там невозможно из-за довольно приличного трансферта который
должен идти в фоне.
Пришлось искать решение по реанимированию TWI.
В новых разработках TWI на SAM7 просто не используем, и никому не посоветую использовать.