|
 |
Procedure Seriali |
ServInt0C - Servizio effettivo 1/3
[201 di 403] |
- Gestione degli eventi seriali con la Tecnica dell'Interruzione |
|
5.4
Procedura ServInt0C:
considerazioni di progetto [1 di 3] |
 | La ServInt0C è la
procedura di servizio
vera e propria eseguita
in risposta all'attivazione della linea d'interruzione
IRQ4; poichè sono numerosi gli
eventi seriali
associati alla porta
COM1 in grado di attivare questa linea,
essa deve essere particolarmente versatile,
al fine di garantire il servizio a ciascuno di essi. |
 | In ogni caso è importante tener presente che ciascuno dei
possibili eventi seriali potrà essere autorizzato ad interrompere solo se i
bit ad essi relativi nel
Registro
di Abilitazione delle Interruzioni
[port_9]
sono stati preventivamente forzati a
1,
operazione assicurata sulla riga di programma con l'etichetta
Cambia: dentro la procedura
SetInt0C, descritta nelle pagine
precedenti e riportata qui di seguito:
|
 | Nell'esempio proposto qui sopra risulta
autorizzato ad interrompere solo
l'evento Trasmettitore
Vuoto, ma è importante sottolineare che anche più di un evento può
essere contemporaneamente autorizzato, forzando a 1
i rispettivi bit. |
 | La procedura ServInt0C
dispone del codice necessario a soddisfare le richieste dovute a
Dato Pronto in Ricezione e a
Trasmettitore vuoto, limitandosi, negli altri
2 casi (variazione dei 2
Registri di Stato,
della Linea e del Modem) ad
azzerare la richiesta dell'interruzione senza provvedere a nessun altro
servizio. |
 | Si tratta di una scelta di
versatilità e di prevenzione
perchè nessuno di questi frammenti di
codice, pur presente nella procedura, sarà comunque eseguito se l'evento che dovrebbe richiederlo
non è stato abilitato ad interrompere. |
©
2001-2010 - Studio Tecnico
ing. Giorgio OBER
Tutti i diritti sono riservati
|