Tastiera
|
||
Tecniche di Interruzione |
Porta Seriale |
TECNICHE D'INTERRUZIONE 2/3 [6 di 9] |
|
**** GESTIONE EVENTI SERIALI: INTERRUPT [2 di 4] |
|
In ogni caso ciascuno di essi sarà autorizzato ad interrompere il processore solo se i previsti bit del Registro di Abilitazione delle Interruzioni [port_9]) sono stati predisposti a 1 logico (è necessario porre a 0 i bit degli eventi non autorizzati ad interrompere): |
|
Priorità | bit3 | bit2 | bit1 | bit0 |
Interrupt Enable Register [port_9] |
2 | 1 |
1 = interruzione
abilitata per Dato Ricevuto (Received Data Available)
o per FIFO timeout [16550] [interrompe se il Receive Buffer Register, RBR, è pieno] |
|||
3 | 1 |
1 = interruzione
abilitata per Dato Trasmesso (Transmit
Data Empty) [interrompe se il Transmit Holding Register, THR, è vuoto] |
|||
1 | 1 |
1 = interruzione
abilitata per Variazioni dello Stato della Linea (Receiver
Line Status) [interrompe se è stato rilevato un errore nel flusso dati o un Break] |
|||
4 | 1 |
1 = interruzione
abilitata per Variazioni dello Stato del Modem (Modem Status) [interrompe se stato rilevato un cambiamento nel handshake] |
|
Se l'evento che ha richiesto interruzione è abilitato il processore fa partire la procedura di servizio INT 0CH (se la richiesta è stata generata dall'UART della porta seriale COM1 ed è arrivata da IRQ4) o INT 0BH (se la richiesta è stata generata dall'UART della porta seriale COM2 ed è arrivata da IRQ3). |
|
Da notare che il vettore di queste procedure punta normalmente ad una locazione contenente il JMP ad una procedura di default: è probabile la necessità di scrivere una propria procedura personalizzata per il servizio delle interruzioni seriali. | |
In ogni caso le tecniche di Interrupt sono descritte molto dettagliatamente nella parte che si occupa dei sorgenti ASM dedicati alla porta seriale. |
|
Tecniche INT | TECNICHE D'INTERRUZIONE 2/3 | |||||||
6 di 9 |
|
|
|
Home |
|
|||||||
|
Motore Ricerca |
|