Quote (demanik)
Попробуйте работать с часами одним пакетом, вот пример:
чтение
I2CRead SDA, SCL, rtc_read, 0, [sec,mins,hr,day,date,mon,yr]
запись
I2CWrite SDA, SCL, rtc_write, 0, [sec, mins, hr, day, date, mon, yr]
P.S. Резисторы вцепите на обе шины.
Поцепив на обе линии резисторы это решило половину проблемы (насчет приминения только одного резюка вычитал на одном форуме, видимо дезинформацией занимаются люди
).
А вторую половину решил когда замерял питание на микросхеме, оно оказалось на мое удивление не 5В, а чуть меньше 4, в даташите указано что при питании меньше, чем 1.25 x VBAT микруха не принимает и не отсылает данные, переходит в ждущий режим. Причина неполадки была в токоограничивающем резисторе в цепи питания, удалил его и все заработало))
Кстати, одним пакетом действительно удобнее работать. Не знал о такой особенности)))
Добавлено (08.10.2009, 00.57.02)
---------------------------------------------
Еще столкнулся с такой проблемой:
при работе с внешней памятью через I2C интерфейс и также с микросхемой часов реального времени DS1307 через тот же интерфейс при первом (после подачи питающего напряжения) чтении данных из памяти либо первая ячейка памяти читается неправильно либо целый массив, напоминает случайные числа, никаких закономерностей. Последующие считывания происходят без сбоев.
Может кто подскажет в чем проблема?