430f5438A 接收数据包的问题

[复制链接]
1059|15
 楼主| Stannis 发表于 2016-10-13 18:37 | 显示全部楼层 |阅读模式
430.接收数据包,老是接收到最后一个,前面的被覆盖掉了吗???收到的数据用串口助手显示是EF 01 FF FF FF FF 07 00 03 00 00 0A,但是从缓存器里取出来的只有一位0A,难道是我程序错了,还是缓存器里的值不能用循环来取,用的是串口异步通讯
Rangar 发表于 2016-10-13 19:06 | 显示全部楼层
把接收的数据存在一个buff数组中,debug模式下,单步调结合你的程序看看具体其他数据在执行什么语句之后不见了
Rollo 发表于 2016-10-13 19:54 | 显示全部楼层
可以直接采用,串口中断去读取数据,可以边读取,边校验
Thor9 发表于 2016-10-13 20:28 | 显示全部楼层
中断中只用数组缓存接收到数据;然后调到主函数中判断
Bjorn 发表于 2016-10-13 20:40 | 显示全部楼层
主函数中判断时,要在while大循环中判断
Thorald 发表于 2016-10-13 20:56 | 显示全部楼层
中断只接收字符,缓存到数组中
Soraka 发表于 2016-10-13 21:20 | 显示全部楼层
在主函数while中处理接收的字符,用if直接嵌套判断,判断完后,不对直接丢掉
icecut 发表于 2016-10-14 13:26 | 显示全部楼层
你要看芯片手册,是不是有 buf,单片机没有,后来,arm 开始有,然后又没有了...
分久必合合久必分
dspmana 发表于 2016-10-14 22:42 | 显示全部楼层
你是不是发送的问题?
dspmana 发表于 2016-10-14 22:44 | 显示全部楼层
是不是for循环的时候出现故障了。
shenmu2012 发表于 2016-10-16 12:25 | 显示全部楼层
异步通讯的需要注意两边波特率的统一的。
comeon201208 发表于 2016-10-16 13:20 | 显示全部楼层
数据要及时取出来的,还有要注意时钟的应用的。
firstblood 发表于 2016-10-16 14:23 | 显示全部楼层
缓存中没有及时取出数据的或者是所取得数据被覆盖掉了
firstblood 发表于 2016-10-16 14:24 | 显示全部楼层
看下你缓存中的数据存储的计数的及存储空间的指针的是怎样处理的
i1mcu 发表于 2016-10-16 17:11 | 显示全部楼层
你的发送模式有问题吗?
i1mcu 发表于 2016-10-16 17:14 | 显示全部楼层
最后的数据位怎么实现?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

176

主题

721

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部