непонятные проблемы с TWI Пытаюсь свзять ATmega128L и ATmega8L по I2C/TWI, и там и там использую аппаратный.
ATmega128 - Master Transmitter, ATmega8 - Slave Receiver.
Как правило все работает нормально, но иногда случается странная проблема: master не может сгенерировать start condition. Slave при этом вроде бы ничего не делает, и линию не держит. Ресет не помагает, ситуация исправляется только после отключения питания на Slave'е. Если код на ATmega128 запускать под JTAG-отладчиком, то вероятность возникновения такой ситуации резко увеличивается.
Питание 3.3В, подтяжки на I2C по 4.7k, скорость выставлена ~57600 bit/sec (кварц 7.3728МГц, TWBR=0x38, TWPS=0), расстояние между контроллерами ~10см.
Если контроллеры поменять местами, ситуация тоже иногда возникает, и питание нужно убирать опять же на Slave'е.
В чем же могут быть грабли? Уже окончательно задолбался с этими подвисаниями :(