Leksykon IT › Sprzęt › Wykrywanie bezczynności linii (UART)

Wykrywanie bezczynności linii (UART)

Sprzęt Svenska → Zaktualizowano: 2026-11-04

Funkcja UART-a, która zgłasza zdarzenie, gdy linia odbiorcza milczała przez czas całego znaku — sprzętowy sposób na powiedzenie, że komunikat się skończył.

DMA świetnie nadaje się do odbioru danych szeregowych bez angażowania procesora przy każdym bajcie, ale wymaga znajomości długości z góry. Moduł GPS czy odpowiedź na polecenie AT wysyłają linie o nieznanej długości. Wykrywanie bezczynności rozwiązuje to tak: gdy po ostatnim znaku linia pozostaje w stanie spoczynkowym (wysokim) przez całą ramkę, UART ustawia flagę i może wywołać przerwanie. W STM32 nazywa się to IDLE.

Powstały wzorzec to cykliczne DMA do bufora kołowego plus trzy przerwania — połowa transferu, zawinięcie i bezczynność. W obsłudze odczytujesz, jak daleko przesunął się licznik DMA, i wiesz dokładnie, które bajty są nowe. Haczyk: okno bezczynności trwa tylko jeden znak, więc nadajnik, który zrobi przerwę w środku pakietu, wytworzy dwa pół-komunikaty. Dlatego nowsze układy dodają też konfigurowalny timeout odbiornika.

← Wróć do leksykonu