| Il valore dei bit riportato in tabella è
quello attivo (l'interruzione desiderata è abilitata con
1 logico e disabilitata con lo
0); ufficialmente l'UART
può richiedere servizio d'interruzione per 4 tipi di eventi; in dettaglio:
|
Received Data Available: se il
bit0
è 1 l'UART
genera richiesta di interruzione quando
il numero di bytes ricevuti ha superato quello massimo (trigger
level) previsto per il buffer FIFO
in Ricezione (si aspetta che il
FIFO sia pieno
di dati, per farli leggere in blocco dal processore), oppure quando
il
FIFO contiene bytes in misura inferiore al
massimo ma il tempo concesso a nuovi arrivi è terminato,
timeout) oppure quando nel
Receive Buffer Register,
RBR, è pronto
un singolo dato (con UART
8250/16450 o con UART
16550A, se il
FIFO è disabilitato) |
|
Transmit
Data Empty: se il
bit1
è 1 l'UART
genera richiesta di interruzione quando
il Transmit
Holding Register, THR, è
vuoto (con UART
8250/16450 o con UART
16550A, se il
FIFO in Trasmissione
è disabilitato) oppure quando il
FIFO ha posti liberi per uno o più bytes |
| Receiver Line Status: se il
bit2
è 1 l'UART
genera richiesta di interruzione quando,
durante la ricezione di dati, ha rilevato la presenza di
errori (di
sovrapposizione, di parità
o
di composizione)
o la presenza di un segnale
di break,
tutti eventi segnalati da bit del
Registro
di Stato della Linea
[port_D] |
|
Modem Status: se il
bit3
è a 1 l'UART
genera richiesta di interruzione quando,
durante la comunicazione con il Modem, ha rilevato
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),
tutti eventi segnalati da bit del
Registro
di Stato del Modem
[port_E] |
|