找回密码
 注册
LabVIEW+单片机学习套件全套教程资料下载[免费]LabVIEW论坛精华列表贴USB0816数据采集卡《LabVIEW宝典》
LabWindows/CVI论坛精华贴NET0816以太网数据采集卡RC0210远程设备授权系统 关闭关停锁定打开设备 户外分布式数据采集
NET1624低速高精度以太网数据采集卡WIFI0824SD无线WIFI网络数据采集卡脱机运行 SD存储 小尺寸微型 串口采集远程采集 安卓 手持移动采集 纪录仪
查看: 807|回复: 3

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

[复制链接]
发表于 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(这也是能通过校验的原因).

请高手帮我解答下,这困扰了我很长时间了!!
发表于 2009-7-8 22:05:29 | 显示全部楼层
看版主这个程序咯。应该适合你。串口通信中数据篡位的彻底解决办法:队列缓冲数据!附程序!
http://www.cpubbs.com/bbs/viewth ... &fromuid=117123
回复 顶

使用道具 举报

 楼主| 发表于 2009-7-9 07:51:27 | 显示全部楼层
回复 顶

使用道具 举报

herny1016 该用户已被删除
发表于 2009-7-16 16:49:51 | 显示全部楼层
回复 顶

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|cpubbs论坛. ( 粤ICP备09171248号 )

GMT+8, 2026-9-29 12:26 , Processed in 0.030615 second(s), 8 queries , Gzip On, File On.

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表