| Poichè la
richiesta di interruzione può pervenire contemporaneamente
anche da più di un evento,
per semplificarne il servizio
sono stati raggruppati in 4
categorie, associando loro una priorità,
cioè un numero che stabilisce quale di esse sarà servita per prima:
| massima priorità per
Receiver Line Status: 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 |
| seconda priorità per
Received Data Available
(dato pronto): 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) |
| terza priorità per
Transmit
Data Empty (trasmettitore
vuoto): 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
|
| priorità più bassa per
Modem Status: durante la comunicazione con il Modem,
è stata rilevata la variazione di 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) |
|