ecoins писал(а): ↑30 дек 2021, 13:11
Вроде обеспечивает передачу всех новых данных в Nextion? Или не так?
Конечно так.
Но актуальные не всегда новые!!!!
Например, если дисплей что-то пропустит или перезагузится, то данные на экране будут те что по умолчанию (Initial value--). Если в MCU не будет изменений передаваемой переменной долго, например час, день, сутки...? Это нужно как типа страховка. Не обязательно же слать повторно данные каждую миллисекунду, тогда конечно что хочешь забьется)))
Отправлено спустя 1 час 59 минут 59 секунд:
ecoins писал(а): ↑30 дек 2021, 12:12
Отправка по изменению, но не чаще чем установлен период.
Может можно добавить отдельный вход или параметр и возможность отправлять по изменению на входе "en", без ожидания новых данных (обязательно - отличающихся) от предыдущих?
Что тут изменить чтобы отправлялось принудительно, один раз за период ms, указав период в настройке блока?
Код: Выделить всё
if(id.dir==1) { //==check условий на вывод (периодичность && изменение переменной;
if(id.run==1){id.dir=2; return;} //--check готовности переменной для вывода;
if(id.agoBlink==ptr[id.num]->blink) {return;} //--check на изменение тика от тактового генератора;
id.agoBlink=ptr[id.num]->blink; //--reservation нового значения от тактового генератора;
if(++id.cnt<id.tick) {return;} //--waiting периода вывода;
id.cnt=0; //--reset счетчика тиков;
if(id.agoVal==val) {return;} //--check на изменение переменной;
id.run=1; id.dir++;} //--goto на этап вывода переменной;
Отправлено спустя 20 минут 19 секунд:
ecoins писал(а): ↑29 янв 2021, 16:30
Если я правильно понял обмен происходит без подтверждения данных и посылается периодически,
ecoins писал(а): ↑29 янв 2021, 16:30
Достаточно точно.
Не достаточно точно. Это на половину точно. Точно только в направлении дисплей ---> контроллер. А из контроллера в дисплей, если данные не изменятся, то можно ждать отправки вечность и так и не дождаться.