Добрый день! Раньше как то не приходилось работать с Com портом по обмену данными с контроллером, а сейчас вот понадобилось и столкнулся с такой вот проблемой. К сожалению осциллографа пока нет, свой старенький продал, жду другой с Алиэкспресса и пока нет возможности посмотреть реальные передаваемые сигналы. А симулятор показывает мне что то не то, что я ожидаю увидеть. Контроллер ATtiny2313. С компьютера я передаю по UART на контроллер "1" которую набираю на клавиатуре. А в окне симулятора в регистре приемника UDR вижу такую бинарную последовательность - 00110001. В десятичном представлении это цифра - 49.
А я ожидаю увидеть там - 00000001, т.е. десятичную единицу. Следом передаю "0" и вижу - 00110000. В десятичном виде это цифра - 48. Так как в программе контроллера я проверяю 0-й бит на "0" и "1", то проверка проходит успешно и программа в контроллере правильно выполняется. Типа правильно..
Потому что у цифры "49" нулевой бит будет как раз "1", а у цифры "48" этот бит будет равен "0". Но реально в регистре приемника UDR я вижу другие бинарные данные.
Что я не так понимаю? Кто знает, подскажите пожалуйста. Компонент через который отправляю данные в компьютерной программе - COMEX. Данные посылал и через компонент Edit, и кнопкой Button у которой через свойство Data ставил "1" и "0" тип и String и Integer. Результат всегда один 49 и 48. Кстати, когда отправлял данные вообще через другую терминалку, то в контролле все те же - 49 и 48. Что я не так понимаю?
Ответов: 27
Рейтинг: 0
|
|||
карма: 0 |
|
Редактировалось 1 раз(а), последний 2017-01-12 10:40:55