Странное поведение RTC DS1302
- Войдите на сайт для отправки комментариев
Всем привет!
Первый вопрос по поводу подключения. В примере библиотеки для DS1302 указано, что подключать необходимо так:
CE pin -> Arduino Digital 2
I/O pin -> Arduino Digital 3
Ну ок, попробовал - работает, установил время, все вроде бы гуд. Но когда возникла необходимость подключить часы к другим пинам (2,3,4 были заняты LCD), начались проблемы.Подключил к 10,11,12 - заработало с горем пополам. Оказываеться, есть разница к какому входу, какой выход часов подключать и в каком порядке в скетче указывать пины. Пропишешь DS1302 rtc(11,10,12) и уже не работает. Я так и не понял от чего это зависит. По аналогии с 2,3,4 где 3 это ШИМ, пробовал I/O pin на 9 и 10 подключать. Заработало только на 11. В итоге подключил так:
CE pin -> Arduino Digital 10
I/O pin -> Arduino Digital 11
При таком подключении время выводиться и на серил и на LDC, но перепрошить время и дату не получаеться - просто никак не реагирует - сохраняет старые паарметры.
Вопрос второй. Подключал RTC DS1302 к LCD 5110. Скетч ниже. Все заработало как нужно. Оставил на пару часов включенным. Питалось все от USB компа. Через некоторое время комп перешел в спящий режим и видимо это как-то повлияло на питание USB. В общем, часы зависли - время застыло на экране 5110. После выкл-вкл все вновь заработало, но время отставала на 20 мин (видимо, то время когда комп был в спящем режиме или с момента "зависания" часов). Батарейка в модуле новая, ранее часы подключал к 1602 время точно показывали недели 2. Правда все это было подключено к nano, а теперь подключено к UNO. Что это? программная ошибка? некорректное подключение ?
Конечно есть разница. При инициализации DS1302 в скобках вы сообщаете библиотеке какому выводу Ардуино соответствует вывод модуля DS1302, причем в строгой очередности. Т.е. первое место для вывода соединенного с CLK, второе для DAT и третье для RST. Очевидно, что если заработало (10, 11, 12), то чтобы заработало (11, 10, 12) необходимо физически поменять местами проводники CLK и DAT.
ШИМ тут вообще не причем. Правильно надо указать библиотеке куда подключены выводы