roboforum.ru

Технический форум по робототехнике.
Текущее время: 01 мар 2025, 13:02

Часовой пояс: UTC + 4 часа




Начать новую тему Ответить на тему  [ Сообщений: 6 ] 
Автор Сообщение
 Заголовок сообщения: Atmega128 USART
СообщениеДобавлено: 18 июн 2010, 10:35 
Не в сети

Зарегистрирован: 18 июн 2010, 10:31
Сообщения: 2
Добрый день
Проблема с приемом данных в Atmega128

Что бы я не передавал в ком порт, и не считывал, в UDR всегда записано значение 0xff
вот инициализация
Код:
void uart1_init(void)
{
    UBRR1L=1;                 // 250000 бит/с при такт частоте 8 МГц без удвоения
    UBRR1H=0;
    UCSR1A=0x80;                //   RXCn   TXCn  UDREn    FEn   DORn   UPEn   U2Xn  MPCMn
                               // сбросить бит окончания приема
    UCSR1B=0xd8;                // RXCIEn TXCIEn UDRIEn  RXENn  TXENn UCSZn2  RXB8n  TXB8n
                               // разрешить прервывание по окончанию приёма, прервывание окончанию передачи,
                               // приём, передачу
    UCSR1C=0x0e;                //     -  UMSELn  UPMn1  UPMn0  USBSn UCSZn1 UCSZn0 UCPOLn
                               // нет чётности, 2 стоп бита, 8 битов данных
}

Код:
ISR(USART1_RX_vect)
{
     unsigned char c,s;
     s=UCSR1A;
     c=UDR1;
}

даже если сделать так, что бы UDR точно сбрасывался, все равно значение 0xff
Код:
ISR(USART1_RX_vect)
{
     unsigned char c,s;
     UDR1;
     s=UCSR1A;
     c=UDR1;
}

в чем тут дело подскажите плиз


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Atmega128 USART
СообщениеДобавлено: 18 июн 2010, 10:44 
Не в сети

Зарегистрирован: 24 май 2010, 15:31
Сообщения: 92
Откуда: Екатеринбург
ФИО: Зайцев Иван Алексеевич
А зачем при приеме читаешь UCSR1A?
Просто читай данные


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Atmega128 USART
СообщениеДобавлено: 18 июн 2010, 10:50 
Не в сети
отсылающий читать курс
Аватара пользователя

Зарегистрирован: 06 ноя 2005, 04:18
Сообщения: 14195
Откуда: Москва
Можно соединить резистором 1 кОм Tx и Rx и передавать и "слушать" прием. Настроить UART удобно мастером CVAVR.

И скорость у вас странная какая-то. Начните с классики - 9600.

_________________
Читайте !


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Atmega128 USART
СообщениеДобавлено: 18 июн 2010, 11:01 
Не в сети
Аватара пользователя

Зарегистрирован: 04 дек 2008, 22:44
Сообщения: 4363
Откуда: Камышин
Skype: galk-aleksandr1
прог. языки: Kotlin, Java, C, C++, Assm, BasCom, VB, php
ФИО: Галкин Александр Владимирович
На 250000 бит/с может и не работать Уарт - зависит от выбранного кварца

_________________
if(!Operate) Read(pDatasheet);


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Atmega128 USART
СообщениеДобавлено: 18 июн 2010, 11:15 
Не в сети
Аватара пользователя

Зарегистрирован: 29 апр 2008, 21:15
Сообщения: 4130
Откуда: Хабаровск
прог. языки: C,C++,Assembler,PHP,Javascript,Ruby, SPIN,Java(?)
ФИО: Андрей Юрьевич
Проверить, что данные приходят действительно на скорости 250000. В прерывании по приему проверять флаги ошибок

_________________
Проект [[Open Robotics]] - универсальные модули для построения роботов
Модули Open Robotics можно приобрести в магазине shop.roboforum.ru

Day OFF? You must be pulling my leg! Stop making humor before someone sees you, fool!



Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Atmega128 USART
СообщениеДобавлено: 18 июн 2010, 12:57 
Не в сети

Зарегистрирован: 18 июн 2010, 10:31
Сообщения: 2
всем спасибо за помощь
все норм,
я тупанул, кварц был на 16 мгц(


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 6 ] 

Часовой пояс: UTC + 4 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 0


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
phpBB SEO