Léxico TI › Hardware › Detección de línea inactiva (UART)

Detección de línea inactiva (UART)

Hardware Svenska → Actualizado: 2026-11-04

Una función de la UART que avisa cuando la línea de recepción lleva en silencio un tiempo de carácter completo: la forma que tiene el hardware de decir que un mensaje ha terminado.

El DMA es excelente para recibir datos serie sin que la CPU toque cada byte, pero quiere conocer la longitud de antemano. Un módulo GPS o la respuesta a un comando AT envían líneas de longitud desconocida. La detección de línea inactiva lo resuelve: cuando la línea ha permanecido en reposo (en alto) durante una trama entera tras el último carácter, la UART activa un indicador y puede generar una interrupción. En STM32 se llama IDLE.

El patrón resultante es DMA circular hacia un búfer circular más tres interrupciones: mitad de transferencia, vuelta completa e inactividad. En el manejador se lee cuánto ha avanzado el contador del DMA y se sabe exactamente qué bytes son nuevos. La trampa es que la ventana de inactividad dura solo un carácter: un emisor que hace una pausa a mitad de paquete produce dos medios mensajes. Por eso los chips más nuevos añaden además un timeout de recepción configurable.

← Volver al léxico