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

 
 
> Mega16 & UART, Странное поведение
Denisvak
сообщение Mar 16 2008, 10:59
Сообщение #1


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

Группа: Участник
Сообщений: 141
Регистрация: 7-03-06
Из: Санкт-Петербург
Пользователь №: 15 038



Добрый день. Тут такой прикольчик у меня наблюдается:
Работаю с Mega16, запускаю у неё UART на любой скорости, посылаю с неё всего один байт 0x0D, а в терминалке получаю два байта 0x0D и 0x0A. Причем это наблюдается токо когда отсылаю именно 0x0D и всегда после него принимается 0x0A. Если слать скопом толпу байтов где нет байтов равных 0x0D то все Ок, сколько послал столько и принял и пакет правильный. А если с 0x0D то получаю пакет длиннее на столько байтов сколько раз встретился 0x0D в пакете. Что может быть за мистика? sad.gif
Мега работает с кварцем 16МГц и скорость UART никак не влияет на данный странный баг.
Инициализация выполнена так:
Код
  UCSRA=0x02;
  UCSRB=0x18;
  UCSRC=0x8E;
  UBRRH=0x00;
  UBRRL=0x22;


отправка так:
Код
void uart_send_char(unsigned char data){
  while ( !( UCSRA & (1<<5)) );
  UDR = data;
}


help.gif
Go to the top of the page
 
+Quote Post



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

 


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


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