| Con riferimento allo stesso
Registro, la
gestione in polling degli
errori in ricezione
può
essere monitorizzata interrogando:
| il
bit1 (Overrun Error): se
è trovato a
1 se la ricezione è gravata da errore di sovrapposizione: con UART
8250/16450
il processore non ha fatto in tempo a leggere un dato dal
Registro
di Ricezione [port_8]
(Receive
Buffer Register,
RBR, prima dell'arrivo del successivo,
oppure (con UART
16550) il
buffer FIFO in
Ricezione è pieno e il dato ricostruito nel registro a scorrimento
interno (Receive Shift Register,
RSR) non può esservi inserito; il dato non
letto viene perduto, sovrascritto da quello in arrivo |
| il
bit2 (Parity Error): se
è trovato a
1 se la ricezione è gravata da errore
di parità: prima del bit di stop l'UART
ha rilevato nel dato ricevuto un numero di bit a 1
diverso da quello (pari o
dispari) previsto dalla programmazione del
Registro
di Controllo Linea [port_B] |
| il
bit3 (Framing Error): se
è trovato a
1 se la ricezione è gravata da errori di composizione:
se, dopo l'ultimo bit di dato previsto dalla programmazione del
Registro
di Controllo Linea [port_B],
viene rilevato uno 0
logico la struttura (frame) del
dato ricevuto è scorretta perchè priva del bit di stop
(notoriamente un bit a 1) |
| il
bit4 (Break Interrupt): se
è trovato a
1 se sulla linea d'ingresso seriale (SIN,
pin10 dell'UART)
è presente un segnale di Break,
cioè se la linea è tenuta a livello logico 0
(SPACE) per un tempo maggiore a
quello previsto per ricevere un dato formattato (cioè completo di
bit di start, eventuale parità e
di stop); nel
Registro
di Ricezione [port_8]
(o nel
FIFO in
Ricezione, con UART
16550) è inserito un byte nullo. Questo segnale
può essere generato dal computer
remoto per
richiedere attenzione e la ricezione riprenderà solo quando la linea
SIN torna a livello logico
1, in attesa del
bit di start (notoriamente un bit a 0)
del nuovo dato in arrivo |
|