MCU之路 发表于 2016-5-6 15:06:54

STM32的串口接收

本帖最后由 MCU之路 于 2016-5-6 15:08 编辑

中断接收一个数组,数组长度不固定,帧尾不固定,有什么好的办法用一个接收函数处理比较好,请大神指教

发表于 2016-5-6 15:10:14

用转码的方式,比如0x7E或者参考modbus。

MCU之路 发表于 2016-5-6 15:31:11

安 发表于 2016-5-6 15:10
用转码的方式,比如0x7E或者参考modbus。

菜鸟表示不懂

xmshao 发表于 2016-5-6 16:56:57

设置超时机制,收到数据后,在某个 时间范围内如果再没来数据表示此轮发送完毕。

yklstudent-1794 发表于 2016-5-6 19:36:21

USART+DMA+空闲中断方式就可以

发表于 2016-5-7 09:06:46

串口数据有头有尾,比如用0x7E转码的方式,收到0x7E认为开始,再收到0x7E的时候,认为结束,这个时候去处理数据。比如发送的是0x01 02 03,加头尾以后变为0x7e 01 02 03 7E,要注意,一般数据中遇到7D 和7E的时候要转换为7D 01 和 7D 02。
网上搜索转义字符。

MCU之路 发表于 2016-5-11 14:49:32

yklstudent-1794 发表于 2016-5-6 19:36
USART+DMA+空闲中断方式就可以

刚开始用32表示usart刚会用DMA听说过   空闲中断指的是什么?

MCU之路 发表于 2016-5-11 14:55:15

yklstudent-1794 发表于 2016-5-6 19:36
USART+DMA+空闲中断方式就可以

我看了一下好像真的适合我这种方式

asssdz-382474 发表于 2016-5-12 00:35:56

:):):):):):)
页: [1]
查看完整版本: STM32的串口接收