| La Ricezione Dati
dalla porta seriale non è cosa
limitata a questo
Registro; sebbene l'interfaccia
di lettura a 8 bit con il processore sia il suo indirizzo
[port_8],
coinvolto dall'istruzione
IN, questo servizio
richiede una discreta attività da parte dell'UART:
| il
byte viene in realtà
ricevuto in un buffer
non accessibile
da programma, un registro a scorrimento detto
Receive Shift Register,
RSR, nel quale viene fatto scorrere
dentro (in serie, bit dopo
bit) direttamente dalla linea di ricezione
RD e,
quando è stato completamente ricevuto, viene pulito dai bit di start
e di stop e sottoposto a controllo
di parità (se è prevista la presenza del bit
a ciò delegato) |
| il
byte così ottenuto viene automaticamente trasferito nella locazione
corrente del
buffer FIFO in
Ricezione (con UART
16550A) o nel nostro
Receive Buffer Register,
RBR (con UART
8250/16450 o con UART
16550A se il
FIFO è disabilitato) |
| nessun nuovo dato può essere accettato dalla
linea prima che il precedente sia stato
letto dal processore dal
RBR (cioè prima che il
RSR sia vuoto, con UART
8250/16450); con
UART 16550A o
successivi la lettura dati può continuare in blocco
fino a quando il buffer FIFO
in Ricezione è vuoto, senza
attendere la loro effettiva assunzione dalla linea |
| per stabilire l'esatto momento in cui il
Ricevitore ha nuovi dati da leggere ogni programma può consultare un bit del
Registro
di Stato della Linea
[port_D]
(o affidarsi alle tecniche d'interruzione, discusse in altra parte):
| il bit0
(detto Received Data
Ready, RDR) a
1 logico indica che un dato è stato
completamente ricostruito dal RSR e
da esso è stato trasferito nel RBR [port_8]
(o nel
buffer FIFO in
Ricezione); 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. |
| altri bit dello stesso registro possono essere
consultati da programma per stabilire se i dati ricevuti sono attendibili o
gravati da errori di sovrapposizione (bit1), di parità (bit2),
di composizione (bit3)
o di break (bit4),
tutti descritti nella recensione dedicata al
Registro
di Stato della Linea |
|
|