Обсуждаем контроллеры компании Atmel.
Пн май 10, 2021 14:01:50
Здравствуйте!
Прошу помощи разобраться со следующей ситуацией.
Как по-простому описать не знаю, но если вкраце, то...
"Прием" МК по UART работает не верно (принимаются иероглифы вместо типичных символов от ПК), а отправка - работает верно (на ПК отображается правильное сообщение).
Подробное описание.
Описание схемы.
МК ATMega8 подключен к ПК по UART через преобразователь TTL-USB.
На ПК запущено ПО teraterm.
Описание логики МК.
МК по прерыванию может принимать символ и сравнивать его с допустимыми (разрешены к примеру только символы из известного набора).
От результата этого сравнения зависит текст, выдаваемый от МК через UART на ПК в качестве ответа.
Если символ допустимый, то МК должен выдавать этот же символ (реализовано эхо).
Если символ недопустимый, то в добавок к указанному эхо МК должен выдавать сообщение, с просьбой ввести другой символ.
Описание проблемы.
После каждого символа, введенного на ПК, МК выводит сообщение с просьбой ввести другой символ (сообщение отображается правильно).
При этом, вместо введенного символа отображается иероглиф (то есть не правильно).
Преобразователь TTL-USB проверен (соединением Rx-Tx), работает верно.
Цепи до МК проверены (пробовал другие проводки).
Параметры связи.
скорость 9600 бод/с,
количество бит данных 8,
проверки четности нет,
1 стоповый бит,
FIFO отключен.
Ситуация стабильная.
Буду благодарен за любой комментарий