Обсуждаем контроллеры компании Atmel.
Ответить

UART ATMega8 TX=ok, RX=fail

Пн май 10, 2021 14:01:50

Здравствуйте!

Прошу помощи разобраться со следующей ситуацией.
Как по-простому описать не знаю, но если вкраце, то...

"Прием" МК по UART работает не верно (принимаются иероглифы вместо типичных символов от ПК), а отправка - работает верно (на ПК отображается правильное сообщение).

Подробное описание.

Описание схемы.
МК ATMega8 подключен к ПК по UART через преобразователь TTL-USB.
На ПК запущено ПО teraterm.

Описание логики МК.
МК по прерыванию может принимать символ и сравнивать его с допустимыми (разрешены к примеру только символы из известного набора).
От результата этого сравнения зависит текст, выдаваемый от МК через UART на ПК в качестве ответа.
Если символ допустимый, то МК должен выдавать этот же символ (реализовано эхо).
Если символ недопустимый, то в добавок к указанному эхо МК должен выдавать сообщение, с просьбой ввести другой символ.

Описание проблемы.
После каждого символа, введенного на ПК, МК выводит сообщение с просьбой ввести другой символ (сообщение отображается правильно).
При этом, вместо введенного символа отображается иероглиф (то есть не правильно).

Преобразователь TTL-USB проверен (соединением Rx-Tx), работает верно.
Цепи до МК проверены (пробовал другие проводки).

Параметры связи.
скорость 9600 бод/с,
количество бит данных 8,
проверки четности нет,
1 стоповый бит,
FIFO отключен.

Ситуация стабильная.
Буду благодарен за любой комментарий

Re: UART ATMega8 TX=ok, RX=fail

Пн май 10, 2021 15:25:17

Код где ? Гадать будем ?
Ответить