реклама на сайте
подробности

 
 
> работа с UART, в AT90S2313
ra9ftm2
сообщение Mar 5 2006, 21:56
Сообщение #1





Группа: Участник
Сообщений: 11
Регистрация: 5-03-06
Пользователь №: 14 965



Такая проблема:

кварц 4,9152 мгц. Нужно работать на скорости 57600 бод. Получились такие настройки: UBRR=4;%ERR=6.25. Почему-то не работает. Точнее работает, но с ошибками.

Беру обычный терминал, смотрю что делается:
на 57600 1N8 вообще какая-то несуразица выходит. Если ставлю 7 бит в терминалке. Кое-что выходит и комп принимает (частично).

Долго мучался, решил снизить скорость. Получилось UBRR=31;%ERR=0.00. Сразу вижу на экране терминала те байты, которые нужны.

Но мне нужно на 57600. Что посоветуете? На сколько влияет процент расчета ошибки скорости (%ERR)?

Вывод осуществляется на ассемблере:

uart_tx:
sbis USR, UDRE
rjmp uart_tx
out UDR, tmp1
ret

Вызывается как rcall uart_tx, предварительно записав в tmp1 нужный байт.
По времени выводить это все не кретично, поэтому я не стал заморачиваться с буферами и т.п.
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 20th July 2025 - 19:53
Рейтинг@Mail.ru


Страница сгенерированна за 0.01408 секунд с 7
ELECTRONIX ©2004-2016