Не работает I2C в ATMega128
Спаял очередную плату. Запрограммировал. Включил. Все работает (LCD дисплей клавиатура), а интефейс I2C молчит. На плате две м/с с таким интерфейсом - PCF8583 и FM24C04. Вначале искал ошибки монтажа или номиналов. Все нормально. Поднял ноги SDA и SCL вышеуказаных м/с в воздух, т.е. шина I2C свободна, только два резистора подтяжки по 10 kOm. Уменьшил резисторы до 3 kOm. Бесполезно. Плата (заводское изготовление) и программа нормальные, проверенные не на одном экземпляре. Обычно после включения все нормально работало, если не было ошибок монтажа. Сейчас на SDA и SCL тупо висят "1". Никакого движения нет. Смотрел осциллографом. Проверил сами порты, подергал ножками - работает. А вот альтернативная ф-ция I2C не работает.
Подумал о плохой ATMege128.
Подключил вторую спаяную плату. Та же история - I2C молчит.
Что-то не верится , что обе м/с имеют дефект I2C.
Было ли у кого-то подобное? А то мысли уже заканчиваются. В понедельник нужно сдавать блок. А тут такая засада.
|