|
|
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 |
|