Lessico IT › Hardware › Rilevamento della linea inattiva (UART)

Rilevamento della linea inattiva (UART)

Hardware Svenska → Aggiornato: 2026-11-04

Una funzione della UART che scatta quando la linea di ricezione resta silenziosa per il tempo di un intero carattere: il modo in cui l'hardware dice che un messaggio è finito.

Il DMA è ottimo per ricevere dati seriali senza che la CPU tocchi ogni byte, ma richiede di conoscere in anticipo la lunghezza. Un modulo GPS o la risposta a un comando AT inviano righe di lunghezza ignota. Il rilevamento della linea inattiva risolve il problema: quando la linea resta inattiva (alta) per un intero frame dopo l'ultimo carattere, la UART imposta un flag e può generare un interrupt. Sugli STM32 si chiama IDLE.

Lo schema che ne deriva è un DMA circolare su un buffer ad anello più tre interrupt: metà trasferimento, ritorno all'inizio e linea inattiva. Nel gestore si legge di quanto è avanzato il contatore del DMA e si sa esattamente quali byte sono nuovi. Il limite è che la finestra di inattività dura un solo carattere: un mittente che si ferma a metà pacchetto produce due mezzi messaggi. I chip più recenti aggiungono perciò anche un timeout del ricevitore configurabile.

← Torna al lessico