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

 
 
> Некорректная работа UART, Mega162
_lukash_
сообщение Jan 4 2008, 17:08
Сообщение #1


Частый гость
**

Группа: Свой
Сообщений: 126
Регистрация: 1-09-07
Из: Винница
Пользователь №: 30 222



Всем привет!

Пытаюсь заставить работать UART0 на Mega162, но не получаетсяsad.gif
Если смотреть виндовым терминалом, то при настройке COM на нужную скорость, он ничего не принимает - если на меньшей, то всякие крякозябры. Если смотреть COM Port Toolkit, то на нужной скорости принимаются одни 0. Сам UART вроде правильно настроил, уже много вариантов перепробовал - все равно не корректно работаетsad.gif

UBRR0L = ((int)((float)XTAL_FREQ/16/9600+0.5)-1); //set baud rate lo
UBRR0H = ((int)((float)XTAL_FREQ/16/9600+0.5)-1) >> 8; //set baud rate hi

UCSR0B = (1<<RXCIE0) + (1<<RXEN0) + (1<<TXEN0);
UCSR0C = (1<<URSEL0) + (1<<UCSZ01)+(1<<UCSZ00);

Кварц 14745600.
В UBRR0L записывается 95 - как раз как в даташите рекомендуют для этого кварца при скорости 9600.

Вот сама отправка :

while ( !(UCSR0A & (1<<UDRE0)) ) ;
UDR0 = data;
while ( !(UCSR0A & (1<<TXC0)) ) ;

Мож кто чет подскажет - раньше отлаживал просто - смотрел приходят какие-то данные или нет, а ща уже конкретней нужно смотреть что именно приходит..
Go to the top of the page
 
+Quote Post



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

 


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


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