Visualizzatore LCD
Tastiera
|
||
Schemi & Interfacciamento |
Porta Seriale [UART] |
I BUFFER DELL'UART 4/4 [14 di 39] |
|
Certamente ti sarai chiesto perchè, in ricezione, la richiesta di interruzione viene operata dall'UART un po' prima che il buffer FIFO sia riempito del tutto, per esempio con soli 14 bytes su 16; lo scopo è quello di garantire un po' di spazio ad eventuali dati in arrivo mentre il processore è chiamato a soddisfare la richiesta stessa, cosa possibile dato che, come già detto, la ricetrasmissione viene gestita dall'UART senza l'intervento del processore. |
|
Un'altra curiosità è legata ad una possibile situazione critica: in accordo con il valore programmato del trigger level, se la ricezione non è fluida potrebbe succedere che il buffer FIFO non riesca a riempirsi del tutto, impedendo la richiesta di interruzione fino a quando è ricevuto il 14.mo byte e bloccando di fatto gli applicativi che fruiscono dei dati in arrivo. |
|
In realtà i progettisti dell'UART hanno previsto questa situazione, facendo intervenire comunque una richiesta di interruzione dopo un tempo prestabilito (timeout) anche se il buffer FIFO è ancora parzialmente vuoto; in questo modo potrebbe partire un servizio CPU anche con la presenza di un solo byte ma, nonostante la similitudine, la situazione è assolutamente diversa da quella tipica dei buffer da 1 byte degli UART della prima generazione. |
|
Sebbene meno pressante anche la trasmissione dati gode delle medesime attenzioni. |
|
Interfaccia | I BUFFER DELL'UART 4/4 | |||||||
14 di 39 |
|
|
|
Home |
|
|||||||
|
Motore Ricerca |
|