Arduino Serial to USB => проблема с последовательными данными

Я использую Mega 2560 для получения последовательных данных с другого устройства, но данные отображаются на последовательном терминале в виде странных символов. затем я подключил USB к последовательному кабелю (HL-340) к устройству и попробовал в последовательном терминале (Termite), данные приземляются нормально. Заменил Arduino на другой, так как считал, что проблема может быть, но проблема не исчезла. для дальнейшего исследования я подключил свой Arduino (Mega-2560) к моему последовательному (USB-> Serial) кабелю напрямую, чтобы получать данные на терминале, но, как ни странно, даже это показывает неправильные данные (терминал Arduino отображает правильные данные, но данные появляются на другом терминале неправильно) sendind "c" получение "N"... в чем может быть причина этого... это простой код для печати символов на экране. Спасибо

HL-340 USB-последовательный кабель Arduino Mega-2560 Код и данные терминала

, 👍-1

Обсуждение

У вас есть кабель rs232, а не кабель UART., @Majenko

Погуглите "Ардуино MAX232", @Majenko


1 ответ


Лучший ответ:

3

Нужно быть осторожным. Обычные устройства с параметром "Последовательный" Интерфейс на самом деле имеет интерфейс RS232. Хотя схема передачи данных аналогична "Serial"; интерфейса на Uno/Mega (UART на логике TTL), RS232 имеет совершенно другие уровни напряжения (от -15 до +15 В), которые могут убить вашу Arduino.

Чтобы подключить устройство RS232 к Arduino, вам нужен преобразователь уровней (для преобразования между уровнями RS232 и уровнем TTL (транзисторно-транзисторной логики) Arduino. Обычно для этого используется микросхема MAX232. Существует много ресурсов о что в Интернете и даже готовые к использованию модули, которые оснащены MAX232 и разъемом RS232/Serial.

,