Вот хорошая тема с вопросами и ответами.
Недавно мне на пробу SSSergeich дал поиграться 3,5 Nextion.
До этого я вообще никогда Nextion не занимался. Совсем.
Всё началось с того, что у него в проекте много кнопок, и как следствие - куча переменных от них.
Начали уменьшать - вместо 24 получилась одна но появился код в панели. Не мало.
Это самая, одна из самых, больших засад - привязка в проекте. И имя, и id, и страница...
Далее.
Для нормального приёма в версиях 4.2.3 и ниже(дальше не знаю что будет), необходимо немного пролечить полученный код в Ардуино IDE
Sancho писал(а): ↑06.01.2019{, 11:49}Нашёл существенную ошибку в блоке приёма с панели Nextion числовых данных:
При отключении связи с панелью переменная сбрасывается в 0, при соединении - восстанавливается.
Ошибка здесь:
if(_nextionTempLissen.code = 'q') {_nextionGetValue1_outputValue = _nextionTempLissen.number;};
Необходимо:
if(_nextionTempLissen.code == 'q') {_nextionGetValue1_outputValue = _nextionTempLissen.number;};
и,
Найти строку в IDE, внизу программы,
temp.number = (cmd[4] << 24) | (cmd[3] << 16) | (cmd[2] << 8) | (cmd[1]);
Заменить на
temp.number = uint32_t(cmd[4]) << 24 | uint32_t(cmd[3]) << 16 | uint32_t(cmd[2]) << 8 | uint32_t(cmd[1]);
описано здесь
Отправлено спустя 16 минут 55 секунд:
Далее стало интересно, а как уменьшить ещё.
Вариант next, который требует одного - у всех кнопок id друг за другом, подряд.
Переменная та-же, va0, id другой...
Короче, простым языком -
Сначала делаем коцепцию проекта.
Далее, с чистого листа стараемся сделать всё по очереди, id подряд - сначала кнопки, потом индикацию, потом ....
После этого делаем проект в flprog.
Изменим какой-нибудь элемент в nextion, удалим/восстановим - порядок id нарушается
Ок, версия супер лайт
На очереди - отправка в панель статусов. Как Вы догадались, "пакетом"