roboforum.ru

Технический форум по робототехнике.

Atmega128 USART

Atmega128 USART

Sarog » 18 июн 2010, 10:35

Добрый день
Проблема с приемом данных в 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

elesy » 18 июн 2010, 10:44

А зачем при приеме читаешь UCSR1A?
Просто читай данные

Re: Atmega128 USART

avr123.nm.ru » 18 июн 2010, 10:50

Можно соединить резистором 1 кОм Tx и Rx и передавать и "слушать" прием. Настроить UART удобно мастером CVAVR.

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

Re: Atmega128 USART

galex1981 » 18 июн 2010, 11:01

На 250000 бит/с может и не работать Уарт - зависит от выбранного кварца

Re: Atmega128 USART

blindman » 18 июн 2010, 11:15

Проверить, что данные приходят действительно на скорости 250000. В прерывании по приему проверять флаги ошибок

Re: Atmega128 USART

Sarog » 18 июн 2010, 12:57

всем спасибо за помощь
все норм,
я тупанул, кварц был на 16 мгц(


Rambler\'s Top100 Mail.ru counter