[elektro] Atmega48 - USART Framing Error törlés
Papp Zoltán
zombi at c2.hu
Sat May 30 22:29:34 CEST 2009
2009.05.29. 02:31:59 dátumon Fuzesi Arnold <arnold.fuzesi.lista at gmail.com> írta:
> Sziasztok!
>
> Mi a pontos menete ennek?!
> Ez megfelelo" vagy ennel többet kíván?!
> Megzuhan egy mu"ködo" kód errefele és nem értem mi a gondja...
>
> /******************************************************************************/
> #pragma vector=USART_RX_vect
> __interrupt void USART_RX_handler(void)
> {
>
> if(gbi(UCSR0A,FE0) || gbi(UCSR0A,DOR0) ){ //error
> cbi(UCSR0B,RXEN0);
> sbi(UCSR0B,RXEN0);
> return;
> }
>
> temp=UDR0 blablablabla
>
> Kösz,Arnold
>
> -----------------------------------------
> elektro[-flame|-etc]
>
Szerintem az a baj, hogy ha hiba van, nem olvasod ki a buffert. Mert attól, hogy hiba van, még a bufferbe letárolódik a karakter.
Az Atmega leírásában benne is van, hogy akkor törlődik a hiba-bit, amikor olvasod az UDR-t.
Azaz a return előtt mindenképpen javasolnék egy temp=UDR-t.
Üdv
--
Papp Zoltán
OneWay Electronics Kft
Hangszerviz
szkájp: oneway[aláhúzás]papp[aláhúzás]zoltan
More information about the Elektro
mailing list