lgq0077 发表于 2009-7-8 20:55:43

串口读数据问题(达人来看下!)

本帖最后由 lgq0077 于 2009-7-8 20:57 编辑

串口要读的数据是这样的:
      1s发200组数据,一组数据有23个字节,第一个字节是帧头,最后一个字节是校验码,每读到一组数据中间的21个字节都要进行异或,异或的结果和校验码比较,不一样的话这组数据就剔除。
我是这样做的:
       读取串口,每次读一个,判断是否为帧头,如果是,就再从串口读取22个字节,并对着22个字节进行异或,结果为0的话,说明这组数据有效,为1,则这组数据是误码。
出现的问题:
      1, 误码很多。几乎10s里有4-5个误码,也就是2000组数据中就有4-5组不正常 但下位机发的数据时正常的,用串口助手和同事编的vc程序都没有出现误码。
      2,在校验通过的数据中发现,很多组数据都为0(这也是能通过校验的原因).

请高手帮我解答下,这困扰了我很长时间了!!

gigio 发表于 2009-7-8 22:05:29

看版主这个程序咯。应该适合你。串口通信中数据篡位的彻底解决办法:队列缓冲数据!附程序!
http://www.cpubbs.com/bbs/viewthread.php?tid=63745&fromuid=117123

lgq0077 发表于 2009-7-9 07:51:27

感谢楼上。。 我今天试下

herny1016 发表于 2009-7-16 16:49:51

谢谢gigioMM
页: [1]
查看完整版本: 串口读数据问题(达人来看下!)