Tastiera
Porta Seriale Porta Parallela Stampanti Timer di Sistema
 Home

  Tecniche di Interruzione

Vai al menu - Tecniche d'Interruzione

  Porta Seriale

TECNICA IN POLLING 1/2 [3 di 9] 

 

****  GESTIONE EVENTI SERIALI: POLLING [1 di 2]

               

bulletL'attenzione del processore può essere richiesta da eventi legati alla ricetrasmissione (stato della linea) o al valore dei segnali di handshake (stato del modem); ogni variazione viene segnalata dall'UART direttamente portando a 1 alcuni bit del Registro di Stato della Linea [port_D] o del Registro di Stato del Modem [port_E], consultabili anche rispettivamente nei registri CPU AH e AL, dopo la chiamata della Funzione 03H dell'INT 14H.

               

bulletCon riferimento ai bit del Registro di Stato della Linea [port_D] o del registro CPU AH, dopo la chiamata della Funzione 03H dell'INT 14H, la gestione in polling della ricetrasmissione seriale può essere monitorizzata interrogando:
bulletil bit0 (Received Data Ready o Data Available): se è trovato a 1 un nuovo dato è stato completamente ricostruito dal registro a scorrimento interno (Receive Shift Register, RSR) e da esso è stato trasferito nel Registro di Ricezione [port_8] (Receive Buffer Register, RBR) (o nel buffer FIFO in Ricezione, con UART 16550A); questo bit è riportato a 0 logico non appena il processore estrae il dato dal RBR (o dal FIFO) oppure se il processore azzera il contenuto del FIFO in Ricezione
bulletil bit5 (Transmitter Holding Register Empty: se è trovato a 1 il Registro di Trasmissione [port_8] (Transmitter Holding Register, THR) (o il buffer FIFO in Trasmissione, con UART 16550A) è vuoto: il dato in esso scritto in precedenza dal processore è stato trasferito al registro a scorrimento interno, Transmit Shift Register, TSR; l'UART è pronto ad accettare nuovi caratteri da trasmettere e, non appena uno di essi entra nel THR (o nel FIFO), riporta a 0 logico questo bit

               

bulletCon riferimento allo stesso Registro, la gestione in polling degli errori in ricezione può essere monitorizzata interrogando:
bulletil bit1 (Overrun Error): se è trovato a 1 se la ricezione è gravata da errore di sovrapposizione: con UART 8250/16450 il processore non ha fatto in tempo a leggere un dato dal Registro di Ricezione [port_8] (Receive Buffer Register, RBR, prima dell'arrivo del successivo, oppure (con UART 16550) il buffer FIFO in Ricezione è pieno e il dato ricostruito nel registro a scorrimento interno (Receive Shift Register, RSR) non può esservi inserito; il dato non letto viene perduto, sovrascritto da quello in arrivo
bulletil bit2 (Parity Error): se è trovato a 1 se la ricezione è gravata da errore di parità: prima del bit di stop l'UART ha rilevato nel dato ricevuto un numero di bit a 1 diverso da quello (pari o dispari) previsto dalla programmazione del Registro di Controllo Linea [port_B]
bulletil bit3 (Framing Error): se è trovato a 1 se la ricezione è gravata da errori di composizione: se, dopo l'ultimo bit di dato previsto dalla programmazione del Registro di Controllo Linea [port_B], viene rilevato uno 0 logico la struttura (frame) del dato ricevuto è scorretta perchè priva del bit di stop (notoriamente un bit a 1)
bulletil bit4 (Break Interrupt): se è trovato a 1 se sulla linea d'ingresso seriale (SIN, pin10 dell'UART) è presente un segnale di Break, cioè se la linea è tenuta a livello logico 0 (SPACE) per un tempo maggiore a quello previsto per ricevere un dato formattato (cioè completo di bit di start, eventuale parità e di stop); nel Registro di Ricezione [port_8] (o nel FIFO in Ricezione, con UART 16550) è inserito un byte nullo. Questo segnale può essere generato dal computer remoto per richiedere attenzione e la ricezione riprenderà solo quando la linea SIN torna a livello logico 1, in attesa del bit di start (notoriamente un bit a 0) del nuovo dato in arrivo

    

Pagina Precedente Tecniche INT Pagina Successiva TECNICA IN POLLING 1/2   Torna alla Home della Sezione Vai al menu - Tecniche d'Interruzione Torna al Menu di "Dentro al Computer"
3 di 9
1 2 3 4 5 6 7 8 9

    

Tecniche di Interruzione » Tastiera | Porta Seriale | Porta Parallela | Stampanti
Timer di Sistema | Home
Home 
Pascal|Manuali|Tabelle|Schede
Tutorial Assembly|Palestra Assembler
Aggiungi Giobe®2000 ai preferiti  
Motore
Ricerca
  Rendi Giobe®2000 pagina di Default
© 2001-2010  -  Studio Tecnico ing. Giorgio OBER
Tutti i diritti sono riservati