Собираю проект Arduino+Nextion.
В проекте используется модуль часов реального времени DS3231. Для отладки использовал Протеус 7.1 и симулятор самого Некстиона. Подружил их через нуль-модемный эмулятор, все работает. Но если залить в железо, то начинается трэш)
А теперь попорядку (лишние блоки я поотключал от компилятора):
1. На первой плате смотрим какая страница выбрана в Некстионе, присваиваем соответствующей булевой переменной единичку.

2. На второй плате выводим время с DS3231 в соответствующие переменные (тип Number в Некстионе), но только если показания часов изменились и выбрана стартовая страница.

3. На шестой плате считываем значения из DS3231 в переменые типа Number в Некстион. Далее за дело берется Некстион. В нем запрограммированы локальные кнопки, которые значения часов и минут меняют в соответствующих диапазонах.

4. На седьмой плате происходит контроль нажатия кнопки "ПРИНЯТЬ", которая разрешает коррекцию времени уже в DS3231 и возвращает нас на главный экран.

Я проверил правильно ли я указал в Флпрог ID всех переменных из Некстиона (все соответствует), я попробовал отдельно прошить часы утилитой в Флпрог (время корректирует, все ОК)
Собственно, такая конструкция стабильно работает в паре Протеус-Некстион.
А в железе все печально...
Выкладываю видео работы в эмуляторе и в железе. И скрины из Флпрог.
[video]https://youtu.be/yyrlDcTP2Go[/video]
[video]https://youtu.be/Y3iBJ_E1P5M[/video]
Всем спасибо за внимание и за помощь.