💬 最近回答(1054)
↳ 串口接收不定长数据用什么方案?
串口不定长接收常用两种方案:1. 空闲中断(IDLE):STM32 等 MCU 的 USART 有 IDLE 中断,一帧数据后总线空闲即触发,此时 DMA 搬运完毕,直接读长度,效率最高,适合大流量。2. 帧头帧尾+超时:自定义协议(如 0xAA 0x55 开头 + 校验 + 0x0D 0x0A 结尾),接收时用超时定时器(如 3.5 字符时间)判断结束。3. 也可以固定帧长 + 帧头定位,但灵活性差。推荐:DMA + IDLE 中断是主流做法,中断里只置标志位,主循环处理。
2026-10-23