ESpec - мир электроники для профессионалов


Кто силён в настройках UART?

  Список форумов » Программаторы

Следующая тема · Предыдущая тема
АвторСообщение
seramirun 
Заглянувший
Сообщения: 7
 
Сообщение #1 от 07/10/2019 22:17 цитата  

Проект для микроконтроллера attiny2313 был создан на ассемблере.Там определены константы:
.equ BAUD = 38400
.equ XTAL = 8000
.equ N = 12
Далее N засылается в UBRR,выставляются биты RXEN и TXEN в UCR.
И тогда устанавливается связь компъютера с микроконтроллером, кварц
12 MHz,скорость COM порта 4800 bod.Причём COM порт любой.Как истинный
+/12 вольт так и виртуальный на микросхемах FTDI232RL, CP2102.Почему
это так?
seramirun 
Заглянувший
Сообщения: 7
 
Сообщение #2 от 08/10/2019 10:08 цитата  

Ещё один пример:AT90S2313, assembler,
.equ XTAL = 11059
.equ BAUD = 38400
.equ N = 12
Тогда устанавливается связь на скорости COM порта 9600 с кварцем 2 MHz.
seramirun 
Заглянувший
Сообщения: 7
 
Сообщение #3 от 04/11/2019 20:03 цитата  

И ещё один:Attiny2313,кварц 3.5795 MHz,8N1,19200
Там в исходнике:
.equ XTALL = 11059
.equ BAUD = 115200
.equ N = 11
В общем для attiny2313 верна формула: N =(XTALL/12/16/BAUD)-1.
А для at90s2313 верна формула : N = (XTALL/16/BAUD)-1
Но в большинстве случаев связь работает криво.В окне
гипертерминала мусор.Как уточнить формулы?

Перейти: 
Следующая тема · Предыдущая тема
Показать/скрыть Ваши права в разделе

Интересное от ESpec


Другие темы раздела Программаторы



liveinternet.ru RadioTOP Rambler's Top100 Рейтинг@Mail.ru