USB TTL и Com порт - ошибка в передаче
- Войдите на сайт для отправки комментариев
Всем привет!
Пытаюсь связать Ардуино Про Мини и компьютер через UART. Через USB TTL все отлично подключается, данные передаются правильно. Но мне необходимо подключиться не к виртуальному COM-порту через USB а к настоящему.
Ради проверки замкнул на COM-порте 2 и 3 пины (Rx и Tx) попробовал переслать цифры через терминал - что отправил то и получил. Порт работает. Подключаю к ардуино, и тут начинаются странности:
Отсылаю "012345", ардуино на дисплее отображает следующее:
И так по всем цифрам и символам. Я сначало подумал что может быть это помехи - нет, перепроверил несколько раз. Приходят одни и те же значения. В то же время если отсылать "012345" через USB TTL то "012345" и приходит. Скорость порта одинаковая везде - 9600.
В чем может быть проблема?
Первый вариант - все таки скорость, эхо на девайсе ничего о скорости не говорит, сам на себя он будет работать всегда.
Второй вариант - уровни: UART мало того, что +12-12 (это как раз фигня, принимать будет), так еще и инвертирован по отношению к TTL.
Ну и третий - кривая кодировка индикатора.
Скарость проверял, пробовал менять как в терминале, так и в Диспетчере устройств - ничего.
Дисплей нормально работает, и текст скетчи правильно выводит. Неправильно показывает только то что приходит от COM порта.
Сигнал с COM инвертирован по отношению к TTL?? Наверное в этом и проблема... это можно как-то исправить?
Только что почитал про это... да, сигнал получается инвертирован. Можно ли это как-то програмно исправить?
Исправил простой схемой:
Вот что вам надо: https://ru.aliexpress.com/store/product/RS-232-module/1950989_3253093314...