Часы реального времени

Использование различных блоков часов
Ответить
rusland57
Рядовой
Сообщения: 19
Зарегистрирован: 18 окт 2017, 20:18

Часы реального времени

Сообщение rusland57 »

Здравствуйте! Подскажите, кто знает.
Подключаю часы реального времени на микросхеме ds3231. Считываю в FLProg секунды (с помощью блока RTCGT) и вывожу их на семисегментные индикаторы на базе MAX7219.
Так вот, если физически модуль часов реального времени отсоединить от платы Arduino, то секунды продолжают идти и даже сбрасываются в ноль при достижении значения 60 с.
Как такое может быть? Откуда контроллер берёт данные?
С моей точки зрения при физическом отключении модуля индикатор должен или погаснуть или выводить постоянно последнее значение.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Последний раз редактировалось rusland57 02 ноя 2017, 09:09, всего редактировалось 1 раз.
rusland57
Рядовой
Сообщения: 19
Зарегистрирован: 18 окт 2017, 20:18

Часы реального времени

Сообщение rusland57 »

Отписываюсь, что в итоге выяснил.

Началось с того, что решил сделать часы с секундами. Использовал микросхему ds3231 (китайский аналог с обвязкой). Заметил, что секунды после синхронизации с другими часами (наручные Casio, системное время компьютера, сайт time100.ru) в течении минуты рассинхронизировались. Полным недоумением стало продолжение работы часов после физического отключения модуля от контроллера (о чём писал выше).
В итоге попробовал другой блок (DS3231  Get time,data (CODE).ubi), написанный, как я понял, пользователем hallozin, за что ему отдельное спасибо (даже вывод температуры есть)!

Решил вывести одновременно сигналы (секунды) с двух блоков на индикатор - в результате после сброса секунд очень быстро появляется рассинхронизация. Заметил, что рассинхронизация становится заметной уже в первые 20 секунд.
При физическом отключении модуля ds3231 (снимаю разъём с пинов SCL и SDA) время продолжает идти со стандартного блока RTCGT, а с пользовательского блока останавливается (в смысле, не поступает на индикатор, и он выводит последнее значение, что и должно быть, в принципе).

Из этого делаю вывод, что, скорее всего, блок RTCGT в FLProg работает не корректно.
Заметил, что в блоках используются разные библиотеки RTC.

P.S. Может я где-то ошибаюсь, поэтому выкладываю файлы тестового проекта и пользовательского блока.
Автору FLProg огромное спасибо за программу! Колоссальный труд, да ещё и бесплатно!
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Labu55
Сержант
Сообщения: 130
Зарегистрирован: 30 июл 2017, 12:22

Часы реального времени

Сообщение Labu55 »

rusland57 писал(а):недоумением стало продолжение работы часов после физического отключения модуля
Я о том же в сообщении №3

Добавлено (07.11.2017, 22:30)
---------------------------------------------
Labu55 писал(а):скорее всего, блок RTCGT в FLProg работает не корректно
А FLProg тут не при чём, такая используемая библиотека или все библиотеки RTC, которые мне встречались.
Последний раз редактировалось Labu55 07 ноя 2017, 22:26, всего редактировалось 1 раз.
rusland57
Рядовой
Сообщения: 19
Зарегистрирован: 18 окт 2017, 20:18

Часы реального времени

Сообщение rusland57 »

Labu55 писал(а):Я о том же в сообщении №3
Да, я когда столкнулся в проблемой, искал информацию и видел сообщение, но причиной у вас, как мне показалось, были разъёмы.
Labu55 писал(а):А FLProg тут не при чём, такая используемая библиотека или все библиотеки RTC, которые мне встречались.
Не все. Вот та библиотека, что использует hallozin в своём блоке, работает нормально. Я после выявления причины несколько дней тестировал (со 2-ого числа и до вчерашнего вечера) - часы идут хорошо (сравнивал с time100.ru) и сбоев не выявил. Я бы даже пожелал разработчику FLProg взять блок hallozinа за основу для RTC, тем более там и вывод температуры есть. Где конкретно ошибка в библиотеке сказать не могу, т.к. пока с С++ плохо дружу.
Ответить

Вернуться в «Часы реального времени»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость