USB TTL и Com порт - ошибка в передаче

forfrends
Offline
Зарегистрирован: 24.02.2015

Всем привет!

Пытаюсь связать Ардуино Про Мини и компьютер через UART. Через USB TTL все отлично подключается, данные передаются правильно. Но мне необходимо подключиться не к виртуальному COM-порту через USB а к настоящему.

Ради проверки замкнул на COM-порте 2 и 3 пины (Rx и Tx) попробовал переслать цифры через терминал - что отправил то и получил. Порт работает. Подключаю к ардуино, и тут начинаются странности:

Отсылаю "012345", ардуино на дисплее отображает следующее:

И так по всем цифрам и символам. Я сначало подумал что может быть это помехи - нет, перепроверил несколько раз. Приходят одни и те же значения. В то же время если отсылать "012345" через USB TTL то "012345" и приходит. Скорость порта одинаковая везде - 9600.

В чем может быть проблема?

GarryC
Offline
Зарегистрирован: 08.08.2016

Первый вариант - все таки скорость, эхо на девайсе ничего о скорости не говорит, сам на себя он будет работать всегда.

Второй вариант - уровни: UART мало того, что +12-12 (это как раз фигня, принимать будет), так еще и инвертирован по отношению к TTL.

Ну и третий - кривая кодировка индикатора.

forfrends
Offline
Зарегистрирован: 24.02.2015

Скарость проверял, пробовал менять как в терминале, так и в Диспетчере устройств - ничего.

Дисплей нормально работает, и текст скетчи правильно выводит. Неправильно показывает только то что приходит от COM порта.

Сигнал с COM инвертирован по отношению к TTL?? Наверное в этом и проблема... это можно как-то исправить?

Только что почитал про это... да, сигнал получается инвертирован. Можно ли это как-то програмно исправить?

Исправил простой схемой:

sadman41
Offline
Зарегистрирован: 19.10.2016