FLProg
Вход на сайт
Логин:
Пароль:
Поиск
...
Статистика
Суббота, 18.11.2017, 11:18
Приветствую Вас Гость | RSS
Главная | Регистрация | Вход

Поиск по сайту


Форум
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Страница 1 из 11
Модератор форума: support, Сергей, Anydy, Олег 
Форум » Основной » Обсуждение программы FLProg (Не багтрекер, и не хотелки. Делимся опытом!!) » Часы реального времени
Часы реального времени
rusland57 Дата: Четверг, 02.11.2017, 08:19 | Сообщение # 1
Рядовой
Группа: Проверенные
Сообщений: 4
Награды: 0
Репутация: 0
Статус: Offline
Здравствуйте! Подскажите, кто знает.
Подключаю часы реального времени на микросхеме ds3231. Считываю в FLProg секунды (с помощью блока RTCGT) и вывожу их на семисегментные индикаторы на базе MAX7219.
Так вот, если физически модуль часов реального времени отсоединить от платы Arduino, то секунды продолжают идти и даже сбрасываются в ноль при достижении значения 60 с.
Как такое может быть? Откуда контроллер берёт данные?
С моей точки зрения при физическом отключении модуля индикатор должен или погаснуть или выводить постоянно последнее значение.
Прикрепления: __4.flp(86Kb)


Сообщение отредактировал rusland57 - Четверг, 02.11.2017, 09:09
 
rusland57 Дата: Понедельник, 06.11.2017, 07:43 | Сообщение # 2
Рядовой
Группа: Проверенные
Сообщений: 4
Награды: 0
Репутация: 0
Статус: Offline
Отписываюсь, что в итоге выяснил.

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

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

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

P.S. Может я где-то ошибаюсь, поэтому выкладываю файлы тестового проекта и пользовательского блока.
Автору FLProg огромное спасибо за программу! Колоссальный труд, да ещё и бесплатно!
Прикрепления: _ds3231.flp(201Kb) · DS3231_Get_time.ubi(60Kb)
 
Labu55 Дата: Вторник, 07.11.2017, 22:30 | Сообщение # 3
Лейтенант
Группа: Проверенные
Сообщений: 89
Награды: 3
Репутация: 2
Статус: Offline
Цитата rusland57 ()
недоумением стало продолжение работы часов после физического отключения модуля
Я о том же в сообщении №3

Добавлено (07.11.2017, 22:30)
---------------------------------------------

Цитата Labu55 ()
скорее всего, блок RTCGT в FLProg работает не корректно
А FLProg тут не при чём, такая используемая библиотека или все библиотеки RTC, которые мне встречались.


Сообщение отредактировал Labu55 - Вторник, 07.11.2017, 22:26
 
rusland57 Дата: Среда, 08.11.2017, 19:22 | Сообщение # 4
Рядовой
Группа: Проверенные
Сообщений: 4
Награды: 0
Репутация: 0
Статус: Offline
Цитата Labu55 ()
Я о том же в сообщении №3
Да, я когда столкнулся в проблемой, искал информацию и видел сообщение, но причиной у вас, как мне показалось, были разъёмы.
Цитата Labu55 ()
А FLProg тут не при чём, такая используемая библиотека или все библиотеки RTC, которые мне встречались.
Не все. Вот та библиотека, что использует hallozin в своём блоке, работает нормально. Я после выявления причины несколько дней тестировал (со 2-ого числа и до вчерашнего вечера) - часы идут хорошо (сравнивал с time100.ru) и сбоев не выявил. Я бы даже пожелал разработчику FLProg взять блок hallozinа за основу для RTC, тем более там и вывод температуры есть. Где конкретно ошибка в библиотеке сказать не могу, т.к. пока с С++ плохо дружу.
 
Форум » Основной » Обсуждение программы FLProg (Не багтрекер, и не хотелки. Делимся опытом!!) » Часы реального времени
Страница 1 из 11
Поиск:

FLProg © 2017
Яндекс.Метрика