 | Per stabilire quale dei possibili 4
eventi seriali
è
in attesa di essere servito (anche
tutti e 4 potrebbero richiedere l'attenzione del processore
nello stesso
momento) è
possibile consultare i
bit2/bit1 del
Registro
di Identificazione delle Interruzioni
[port_A];
ecco le codifiche, in dettaglio:
 |
bit2/bit1
= 11: durante la ricezione di dati è
stata rilevata la presenza di
errori (di
sovrapposizione, di parità
o
di composizione)
o la presenza di un segnale
di break; l'UART
ha generato una richiesta di Receiver Line Status
Interrupt ed è in attesa di essere servito |
 |
bit2/bit1
= 10:
il numero di bytes ricevuti ha superato quello massimo (trigger
level) previsto per il FIFO
in Ricezione oppure il
FIFO contiene bytes in misura inferiore al
massimo ma il tempo concesso a nuovi arrivi è terminato (timeout) oppure nel
Receive Buffer Register è pronto un singolo dato; l'UART
ha generato una richiesta di
Received Data Available
Interrupt ed è in attesa di essere
servito |
 |
bit2/bit1
= 01: il Transmit
Holding Register è
vuoto (con UART
8250/16450 o con UART
16550A, se il
FIFO in Trasmissione
è disabilitato) oppure il
FIFO ha posti liberi per uno o più bytes; l'UART
ha generato una richiesta di
Transmit Holding Register Empty
Interrupt
ed è in attesa di essere servito |
 |
bit2/bit1
= 00: durante la comunicazione con il Modem
è stata rilevata la variazione dei segnali in arrivo, direzione
DCE>DTE,
come Data Carrier Detect
(CD, rilevato modem
remoto/possibile comunicare),
Ring Indicator (RI, ricevuto segnale acustico
sul canale), Data Set Ready
(DSR, DCE connesso e pronto a
comunicare) e Clear To Send
(CTS, DCE Pronto a ricevere); l'UART
ha generato una richiesta di Modem Status
Interrupt
ed è in attesa di essere servito |
|