STM32的串口接收
本帖最后由 MCU之路 于 2016-5-6 15:08 编辑中断接收一个数组,数组长度不固定,帧尾不固定,有什么好的办法用一个接收函数处理比较好,请大神指教 用转码的方式,比如0x7E或者参考modbus。 安 发表于 2016-5-6 15:10
用转码的方式,比如0x7E或者参考modbus。
菜鸟表示不懂 设置超时机制,收到数据后,在某个 时间范围内如果再没来数据表示此轮发送完毕。 USART+DMA+空闲中断方式就可以 串口数据有头有尾,比如用0x7E转码的方式,收到0x7E认为开始,再收到0x7E的时候,认为结束,这个时候去处理数据。比如发送的是0x01 02 03,加头尾以后变为0x7e 01 02 03 7E,要注意,一般数据中遇到7D 和7E的时候要转换为7D 01 和 7D 02。
网上搜索转义字符。 yklstudent-1794 发表于 2016-5-6 19:36
USART+DMA+空闲中断方式就可以
刚开始用32表示usart刚会用DMA听说过 空闲中断指的是什么? yklstudent-1794 发表于 2016-5-6 19:36
USART+DMA+空闲中断方式就可以
我看了一下好像真的适合我这种方式 :):):):):):)
页:
[1]