Добрый день! Сижу, осваиваю железки и Flprog. Есть задача: вывод часов и минут на главном экране в Nextion (обновляются показания раз в секунду), но можно настроить время, зайдя на второй экран.
С только лишь выводом на главный экран проблем нет, все работает, время считывается из RTC, потом выводится в переменную Некстиона и раз в секунду обновляется.
На втором экране, когда переходишь на него, статично рисуются последние значения часов и минут. То есть, один раз выводится значение и больше не обновляется уже (так и задумано).
Потом можно с помощью кнопок типа "вверх" и "вниз" на экране корректировать время.
Тут тоже проблем нет. Приращение или уменьшение значений настроил в самом Некстионе. По задумке получается, что при переходе на этот второй экран значения из RTC разово передаются в Некстион, потом меняются при нажатии, но хранятся до нажатия на кнопку "Установить" в самой панели.
Далее ардуина отслеживает нажатие на эту кнопку и должна перезаписать значение в RTC, Некстион должен вернуть главный экран.
И тут начинается... Часы показывают на 1 больше. То есть, если выставить часы на 12:40, например, то при переходе на главный экран, там будет 13:41. А если ставить 23:15, то на главном будет 23:16 (после 23 не прибавляет, с 59 в минутах так же - на 00 не ставит).
А при каждом включении системы вообще время ставит 01:01.
Ну и код одной из кнопок в Некстионе