hzxsdingfeng 发表于 2010-5-23 12:44:16

在读取数据时如何识别数据的起始字节和结束字节?

下位机每100MS发送一个数据(速度很快,几乎一直在发),格式如下(十六进制):起始字节 固定为02    结束字节为03   例如;02 36 35 34 33 32 31 c2 c3 b6 03.
现在的问题是 我设计的程序如何让它从02 开始读取。03结束?      我的想法是可以从02开始读取,共读取多少字节(数据格式是固定的),但是不知道怎么实现。哪位大大提点提点。或者给个例子。hzxsdingfeng@163.com

飞雨天 发表于 2010-5-23 15:41:29

收到数据后按string对其进行scan,你如此快显然不是串口,不然我记得串口好像可以指定一个中断,收到特定字符的中断(迷糊记得,不能确定了)

hzxsdingfeng 发表于 2010-5-24 12:30:24

回复 2# 飞雨天 的帖子


    你好,我确实是通过串口来通讯,如果显示过快的把。因为我们通讯协议是自己定的。目前是2400. 可以在改低点的。我会用你的方法去试试。谢谢斑竹啊。以后有问题 还要请教你哦

zuanshigan 发表于 2010-5-24 12:38:21

用扫描字符串也行,用匹配模式 也行 都可以,可能前者简洁点

hzxsdingfeng 发表于 2010-5-24 12:59:21

回复 4# zuanshigan 的帖子


   好的 谢谢各位大大。还有一个问题就是 如何让串口 VISA read 一直读取数据。我试过放while循环里面,但是好像不行。因为外面已经有一个while循环了。

三岁就很帅 发表于 2010-5-24 13:10:01

看看版主这个用了队列,出来的时候有对比起始符
http://www.cpubbs.com/bbs/forum.php?mod=viewthread&tid=63745&fromuid=103783

三岁就很帅 发表于 2010-5-24 13:10:18

可以适合你要求

hzxsdingfeng 发表于 2010-5-24 14:43:28

回复 7# 三岁就很帅 的帖子


    谢谢你拉。十分感谢
页: [1]
查看完整版本: 在读取数据时如何识别数据的起始字节和结束字节?