Всем привет! Попробовал через конвертер UART-TTL подключить экранчик NX8048K070. Все заливает/соединяется. И достаточно быстро на 912.600, п.э. не вижу смысла возиться с неудобными флешками. Также все работает при помощи программы Terminal v1.9b. все отсылает и принимает. Но решил вместо внешнего конвертера использовать ардуиновский. Подключаю экранчик ко входам tx/rx. объединяю землю. В скетче только Serial.begin(9600). При помощи той же Terminal v1.9b подключаюсь к COM1. Отправляю в ней команду t0.txt="1212"$ff$ff$ff. В итоге лампочка tx мигает, но текст не меняется. Поменял местами провода rx/tx и заработало!!! Но недолго радовался. Вбиваю print t0.txt$ff$ff$ff и нифига, данные с кнопок также не принимаются... Как решить проблему приема данных?
как я понял Nextion только на 9600 пашет в режиме команд. ставил другие скорости, но лился мусор в порт. сама прога Nextion Editor при заливке прошивки на 912.600 соединяется, но при обычной работе на 9600. всегда думал, что встроенный в мк usb-uart напрямую связан с tx/rx, пока не столкнулся с конкретной задачей. да через serial.available/serial.read команды принимаются, но мне нужна прямая связь без посредников
заработало!!! соединил землю и ресет. команды отправляет/принимает и заливает прошивку в Nextion на 912.600. другой вопрос, чтобы залит прошивку в мк нужно отключать ресет и устройство от rx/tx. нужно думать... --------- Использование Arduino как USB-UART преобразователь: На платах Arduino c USB портом (у некоторых плат нет USB порта) уже есть USB-UART преобразователь на базе чипа CH340 или FTDI, или ATmega, или др. Шина USB этих чипов подключена к порту USB, а шина UART к аппаратным выводам TX и RX контроллера платы Arduino. Всё что нужно сделать для работы платы Arduino в качестве USB-UART преобразователя, это отключить её контроллер от шины UART или заставить его не реагировать на сигналы проходящие по этой шине. Сделать это можно соединив вывод RESET с выводом GND платы Arduino. Теперь плату Arduino можно подключить к USB порту компьютера, а внешние устройства к выводам TX и RX платы Arduino (обычно это выводы 0 и 1). Обратите внимание на то, что выводы устройств подключаются к плате, не TX к RX, RX к TX, а TX к TX, RX к RX (так как вывод TX чипа преобразователя на плате Arduino подключён к выводу RX самой платы, а вывод RX чипа подключён к выводу TX платы). Для управления подключённым устройством нужно установить на компьютер программу терминал. Одним из таких терминалов является свободно распространяемая программа Termite с поддержкой Русского языка. Альтернативный метод: В качестве альтернативного метода можно воспользоваться двумя шинами UART Arduino: аппаратной и программной. Аппаратная шина используется для подключения Arduino к USB порту компьютера, а программная шина UART используется для подключения модулей к плате Arduino. Вы просто загружаете скетч, подключаете Arduino к USB порту компьютера, а устройство к выводам указанным в скетче (в примере: вывод D2 это RX - подключается к выводу TX устройства, вывод D3 это TX - подключается к выводу RX устройства). #include<SoftwareSerial.h>// Подключаем библиотеку SoftwareSerial для общения с модулем по программной шине UART SoftwareSerial softSerial(2,3);// Создаём объект softSerial указывая выводы RX, TX (можно указывать любые выводы Arduino UNO) // В данном случае вывод TX модуля подключается к выводу 2 Arduino, а вывод RX модуля к выводу 3 Arduino. // Инициируем работу шин UART с указанием скоростей обеих шин: // void setup(){// softSerial.begin(38400);// Инициируем передачу данных по программной шине UART на скорости 38400 (между модулем и Arduino) Serial.begin(9600);// Инициируем передачу данных по аппаратной шине UART на скорости 9600 (между Arduino и компьютером) }// // // Выполняем ретрансляцию: // Всё что пришло с модуля - отправляем компьютеру, а всё что пришло с компьютера - отправляем модулю void loop(){// if(softSerial.available()){Serial.write(softSerial.read());}// Передаём данные из программной шины UART в аппаратную (от модуля через Arduino к компьютеру) if(Serial.available()){softSerial.write(Serial.read());}// Передаём данные из аппаратной шины UART в программную (от компьютера через Arduino к модулю ) } --------------