|
я софтом i2c делал. да регистры 0-1 надо инициализировать. честно сказать - редко полагаюсь на значения по умолчанию. я проверял этот чип во всех режимах - включая таймер и разные способы генерации прерывания и выходной лапы. Мне он намного более понравится нежели чем 83. а на счёт поднимания лапы данных - это к вопросу если линии имеют разные ёмкости. допустим должна передаться 1-ка в байте. sda - отпускает ключ и напряжение начинает ползти вверх (со скоростью зависящей от емкости линии и сопротивления подтягивающего резистора). потом через некоторое время мастер поднимает линию синхронизации. по фронту которой должны защёлкнуться данные. закрывается ключ - и линия точно так же всплывает в высокое состояние. так вот - если линия синхронизации всплывает быстрее чем линия данных - возможен вариант когда синхронизация уже в 1 а данные в Z. (не доползла ещё линия). выбранный чип и пассивный чип филипс на шине почему-то имеет разные входные ёмкости. с 83 у меня была проблема аналогичная. вплоть до того что чип не отвечал на свой адрес. (не выставлял подтверждение) и вообще "зависал". удержание системы до тех пор пока линия данных гарантированно не всплывёт в высокое состояние - позволило безошибочно и устойчиво работать с устройствами.
E-mail: info@telesys.ru