Цитата(Евгений Германович @ Nov 2 2008, 12:47)

Что можно сделать ведущему,если ведомый завис.Завис именно ведомый,те 0 на SDA и/или SCL выдан ведомым.
Хотелось бы узнать, что из себя представляет ваш слейв? Программный? Аппаратный? Потому, что
Во-первых, с точки зрения самой шины I2C длительность нуля на шине не ограничена, т.е. шина I2C полностью статическая. Ограничена длительность нуля на шине в SMBUS.
Во-вторых, слейв имеет право "растягивать" нуль на SCL, если он слишком "тормозной тугодум". Если у вас слейв не такой, то зачем вообще допускать управлением сигналом SCL на слейве? Пускай у него SCL будет чистым входом.
В-третьих, для того чтобы вывести из ступора приемную схему I2C слейва, необходимо без выдачи старт-условия просто "поклокать" шину сигналом SCL (9-10 тактовых испульсов). Такая рекомендация даже в спецификации I2C имеется. Особенно после подачи питания рекомендуется.
Так что поясните-ка ваши проблемы подробнее. По какой-такой причине зависают ваши слейвы и что они из себя представляют?