Вот сейчас занимаюсь. Попробую.
Вы из Москвы? Есть магазин, оф дилер много чего, в т.ч Nextion. И цены практически как на Али. Хотя они и отправить могут разными службами доставки.
Спасибо, жду.
Оба параметра равны кол-ву отправляемых байт. Два параметра - это дань протоколу ModBus - первый параметр=кол-во отправляемых переменных, второй параметр - количество байт в отправляемых байт.
Имена из Nextion не связаны с регистрами контроллера. Передача данных из Nextion в контроллер реализован по протоколу похожий на ModBus. B Nextion при формировании пакета для отправки указывается тип массива (код функции 06=байтовый, 16=слово 16-разрядное, 26=двойное слово 32 разряда) и адрес(номер регистра) в соответствующем массиве(их три uint8_t, uint16_t,uint32_t), размеры массивов по умолчанию 10,5,2 и могут быть изменены в настройке блока.
По изменению и 1 раз в сек, если сделаете как у нас в примере.
Какой контроллер и как меряете кол-во циклов. Пришлите проект, после выходных попробую посмотреть, пока не успеваю доделать текущую работу.
С этим стало чуть понятнее.
Ваш пример дисплея в первом сообщении - дубль файла flprog, я говорил об этом.
Код: Выделить всё
b0, Touch Press Event: out00|=0x01
b0, Touch Release Event: out00|=0xFE
b1, Touch Press Event: out00|=0x02
b1, Touch Release Event: out00|=0xFD
Код: Выделить всё
// out10 -устанавливается по событиям (нажатие)
Код: Выделить всё
qnt=2 //--Кол-во отправляемых регистров
// qntByte=3 //--Кол-во отправляемых байт
Код: Выделить всё
adr=1 //--Адрес первого отправляемого регистра
логику вычисления кол-ва циклов взял из этой темы viewtopic.php?f=187&t=7583&p=106457&hil ... 82#p106433
Если подытожить, то получается, что не принимается посылка из одного байтового регистра. Попозже посмотрю в библитеке.
Посмотрю, но вообще в библиотеке контролируется число байт в посылке как в протоколе ModBus.
Да, это соответствует записи в созданные в Nextion регистры n0 и n1;
Номера глобальные для всех страниц, созданные переменные n0,n1 ... в секции program.c доступны на всех страницах.WildCat писал(а): ↑10.12.2022{, 19:34}правильно ли я понял, что параметр num - это порядковый номер переменной в отправке? По логике вроде так получается
Какие номера прописывать, когда будет несколько окон, и в каждом будет такая же посылка?
Или на вход nxt приходит ID текущего окна, и ваши блоки сами понимают, что пришла, к примеру, 5-я переменная из третьего окна?
В Вашем случае это элемент байтового массива контроллера с индексом [1] - соответсвенно на выходах элементы arr[1],arr[2],arr[3].
Посмотрю проект и постараюсь понять что тормозит.
Расчет кол-ва циклов есть встроенный в диспетчер задач ecoins.
по сути, сквозная нумерация, а разделение по страницам in01, in02..... in11, in12... in21, in22 и т .д - это условности?
мне бы пока с одной задачей разобраться, прежде чем вникать в Ваши другие разработки.
У меня по сути то же самое.
Получается так.
Да, это условность. Все переменные доступны со всех страниц Nextion.
По факту работает, у нас на многих пультах. Ваш проект посмотрю и станет попонятней.
Код: Выделить всё
// out10 -устанавливается по событиям
Ваш проект дисплея не компилируется.
Бага.
Поправим.
Мы их не тестировали. Поправим,
Отлично.
Странно, но проверим.
Все так.
Передавать из Nextion Вы можете отправлять сколько угодно байтовых переменных, а вот контроллер при настройках по умолчанию примет только байтовые переменные с адресами 0-9, т.е. только 10 переменных.WildCat писал(а): ↑11.12.2022{, 03:37}А как тогда увеличить количество передаваемых переменных? Какое соответствие между входом num блока get.nxt и параметрами отправки из nextion?
В моем случае вообще от числа на входе num блока get.nxt ничего не зависит. Там что 0, что 1, что 2 - обработка происходит одинаково.
То есть, после я уже понял в чем косяк, ясно, спасибо.
Параметр "размер массива"?