DS03131 (ZS-042) не работает без батарейки
- Войдите на сайт для отправки комментариев
Вс, 14/04/2019 - 20:09
Линию VCC -> Bat отключил.
Странно, но нормально работает только, если вставлена батарейка.
Без батарейки - не выдает ни время, ни выход на SQW (генератор, будильники)
Сам модуль работает - регистры опрашиваются.
Вставляю батарейку - начинает работать как положено.
Чего это она так?
А почему нет? DS1307 именно так себя и ведёт. Попробуйте закоротить посадочное место. Говорят помогает.)
А почему нет? DS1307 именно так себя и ведёт. Попробуйте закоротить посадочное место. Говорят помогает.)
Не помогает, хотя в даташите и написано, что если батарейка не используется, то этот вывод на землю.
Взял другой модуль, еще не пользованный, оторвал цепь VCC->Bat. - Работает как положено, независимо от наличия батарейки.
Есть уменя сильные подозрения, что с первым модулем я что-то не туда прописал ( экспериментировал с разными примерами). Хотя состояние регистров статус и контрол одинаковые в обоих модулях.
Как вернуть к заводским установкам программно? (модуль впаян в плату, сторона с деталями не доступна)
Еще один "прикол" с этим модулем:
Пытаю библиотеку для RTC от Michael Miller (Попробовал ртк библиотеку от Jarzebski - то же самое)
Простой код - по срабатыванию будильника (заведено на прерывание 0, нога ардуины-2) - переставляем будильник на следующее время. Вроде быработает как надо.
Но - если перенести вызов Rtc.IsDateTimeValid() внутрь обработки флага ( if(interuptFlag)), то прерывания от будильника не идут. Но опять же - если вызвать эту функцию по команде с ком порта, то происходит прерывание от будильника, обработка, и все- тишина.
А вот на другом модуле RTC и ардуинке - все работает как и задумано, и дополнительный вызов IsDateTimeValid не нужен.
Кто тут виноват? часы или ардуинка? (комбинировать нет возможности - запаяно)
Сама функция IsDateTimeValid - просто чтение состояния регистра
Кто меняет значение переменной interruptFlag?
Кто меняет значение переменной interruptFlag?
Значение меняется в процедуре обработки прерывания INT0 по входу, на который заведен сигнал от будильника
upd:
В, общем "дело было не в бобине" :(. Исчезла цепь GND на часы на монтажной плате устройства.
Вопрос теперь стал: а чего же часы вообще работали? Устройство работало нормально, пока не решил поменять батарейку.
Не забивайте голову ни себе, ни людям! Тщательней надо.)
Не забивайте голову ни себе, ни людям!
Да как скажите.
Однако, должен отметить, что такой эффект (работа часов при обрыве цепи GND) для вас тоже был не знаком.
С микромощными потребителями возможно всё. Вон, люди ds1302 запускаю с килоомным резистором по земле, иначе не работает!)