Есть MCU (Arduino) и устройство (дисплей Nextion). Коммутация через
UART.
Синтаксис команды- Код: Выделить всё
wept add, length
add - начальный адрес в EEPROM.
lenght - количество передаваемых байт.
Пример команды- Код: Выделить всё
wept 30,20 // Передаём 20 байт, с начальным адресом 30
Описание обмена данными в родной документации выглядит так:Для транспарентного режима передачи данных, используются команды addt и wept.
Передача данных от микроконтроллера к устройству Nextion. По шагам.
Шаг 1. Отправка команды микроконтроллером:
- Код: Выделить всё
wept 30,20ÿÿÿ
addt 1,0,320ÿÿÿ
Шаг 2. Устройству Nextion требуется около 5 мс для подготовки к передаче данных в транспарентном режиме.
Шаг 3. Устройство Nextion отправляет микроконтроллеру ответ о готовности к транспарентному режиму передачи данных.
Шаг 4. Теперь микроконтроллер может отправить определённое количество (20) необработанных байт устройству.
Шаг 5. Устройство получает необработанные байты до тех пор, пока не будет получено указанное количество (20).
Шаг 6. Устройство отправляет микроконтроллеру ответ о завершение транспарентного режима передачи данных.
Шаг 7. Микроконтроллер и устройство могут переходить к обработке следующих команд.
ПримечаниеУстройство остаётся в режиме ожидания (шаг 5), пока не будет получено указанное количество байт.
В режиме ожидания, устройство не обрабатывает любые другие команды и, может зависнуть, если микроконтроллер не сможет передать количество байт, указанное во втором параметре команды wept.
Количество передаваемых данных ограничено буфером последовательного порта. Общее количество передаваемых данных (все команды + завершающие биты + передаваемые данные), должно быть меньше 1024 байт.
Здесь всё ясно и понятно.
Не понятен сам термин
транспарентный (прозрачный) режим передачи данных.
Про умлауты в коде. Так обозначаются завершающие биты, при передачи команд по UART.
Основные правила и практика применения - ссылка на первоисточник, пункт 1.16.
Ещё раз. Почему прозрачный? Объясните.