|
 |
Procedure Seriali |
OldInt0C - Fasi finali 1/4
[197 di 403] |
- Gestione degli eventi seriali con la Tecnica dell'Interruzione |
|
5.3
Procedura OldInt0C:
ripristino dei
Registri dell'UART
[1 di 4] |
 | Prima di entrare nel merito della effettiva procedura di servizio
ServInt0C (prossimo paragrafo) desidero descrivere le
fasi finali di ogni progetto di gestione
sotto
interruzione; si tratta della sequenza
di istruzioni da eseguire alla fine, prima di restituire il controllo al DOS,
per ripristinare le condizioni originali, presenti nel sistema prima della sua
esecuzione. |
 | In pratica compie le operazioni
opposte a quelle gestite all'inizio dalla SetInt0C,
appena commentata. |
 | Il primo compito è quello di
impedire all'UART
della porta seriale la possibilità di
generare altre richieste di interruzione; per ottenere questa certezza è necessario forzare a
0 il
bit3 del Registro
di Controllo del Modem [port_C];
in questo modo la linea
OUT2
(pin31 UART) passa a
livello
non attivo (1 logico)
disabilitando il buffer tri-state che
collega
fisicamente la linea INTR
(pin30 UART)
alla linea IRQ3/IRQ4
del controller delle interruzioni,
PIC 8259A. |
 | In condizioni normali anche le linee DTR
(Data Terminal Ready,
pin33 UART) e
RTS (Request To Send,
pin32 UART) devono essere attive (cioè a
1) per cui anche i
rispettivi
bit0
e
bit1 saranno predisposti a
1, mentre il
bit4
(Lookback Mode Enable) deve essere
lasciato
a 0; ecco il codice
necessario per queste predisposizioni: |
©
2001-2010 - Studio Tecnico
ing. Giorgio OBER
Tutti i diritti sono riservati
|