svuotare buffer usart picc

10 Anni 4 Mesi fa #6 da Alex68
Risposta da Alex68 al topic svuotare buffer usart picc
Ciao Marcop20

Prova a guardare questo mio topic di qualche tempo fa, forse può autarti


www.laurtec.it/forum/17-programmazione-m...errori-da-usart#7503

Nel mio programma la ricezione l'ho impostata così:

while (! DataRdyUSART()); // attende l'arrivo di un carattere
if(RCSTAbits.FERR==1 || RCSTAbits.OERR==1 )
{
RCSTAbits.CREN=0; //Overrun error (si azzere azzerando il registro CREN)
data=RCREG; //Svuoto il buffer
RCSTAbits.CREN=1; //Overrun error (si azzere settando il registro CREN)
goto esci;
}
data=RCREG; //legge il dato dalla seriale
WriteUSART(data); // reivia il dato su al PC
esci:
.
.
.
.
.
}

e funzione senza diminuire la velocità (9600) e senza inserire pause tra un carattere e l'altro

in un'alrto programma, che utilizza l'interrupt sulla seriale faccio così:
// Controllo che l'interrupt sia stato generato dall'USART
if (PIR1bits.RCIF==1)//è arrivato un carattere dalla EUSART ?
{
if(RCSTA&0x06) //molto più efficiente del controllo "if(RCSTAbits.FERR==1 || RCSTAbits.OERR==1 )"
{
RCSTAbits.CREN=0; //Overrun error (si azzere azzerando il registro CREN)
temp=RCREG; //Svuoto il buffer
RCSTAbits.CREN=1; //Overrun error (si azzere settando il registro CREN)
goto Esci_Int;
}
Esci_Int;
..
.
..

Forse anche quest'altro mio topic può interessarti

www.laurtec.it/forum/17-programmazione-m...limitstart=0&start=5

Spero possa esserti stato utile



ciao

Si prega Accedi o Crea un account a partecipare alla conversazione.

  • Alex68
  • Visitatori
  • Visitatori
10 Anni 4 Mesi fa #7 da marcop20
Risposta da marcop20 al topic svuotare buffer usart picc
Rigrazio tutti per le dritte ......
adesso farò un po di prove e vi aggiornerò

Si prega Accedi o Crea un account a partecipare alla conversazione.

  • marcop20
  • Avatar di marcop20
  • New Member
  • New Member
Di più
Moderatori: Mauro LaurentiMatteo Garia

Registrati al sito

Accedi a tutte le risorse e articoli non visibili pubblicamente, puoi registrarti con pochi passi.

Registrati al sito LaurTec.

Login