Ребята помогите.
Только начал изучать микроконтроллеры, пытаюсь эмулировать прием по COM порту в PROTEUSе.
Поставил на схему ATMega16 задал для него частоту 1 МГц, и виртуальный терминал, с следующими параметрами:
Скорость – 9600
Длинна слова - 8 бит
Проверка четности не установлена
Стоп бит – 1
ldi R20, LOW(UBRRVAL)
out UBRRL, R20
ldi R20, HIGH(UBRRVAL)
out UBRRH, R20
sbi UCSRB,5
LOOP:
sbis UCSRA, RXC
jmp LOOP
in R19,UDR
…………
После чего отправляю через терминал 1 то есть в 16-тиричной системе 0x31, а в регистре оказывается 0x13. Пытался поковыряться со скоростями передачи, с количеством бит в слове не чего не помогает. Может быть ошибка где-то в схеме?
Не рой другому яму.. чтобы он не смог ее использовать как окоп.
С АВРками я не работаю - все как-то с ПИКами. Но вот по схеме несколько хинтов.
Для отладки проги по приему совсем не нужен COMPIM и тем более MAX232. Подключи виртуальный терминал прямо к ногам контролера. И не забудь поставить одинаковую скорость/битность в виртуальном терминале и проге.
Обрати внимание на желтый квадратик у 14 ноги МАХа. Это значит, что на данном соединении КЗ - одновременно передают сигналы вируальный терминал и COMPIM.