找回密码
 注册
Simdroid-非首页
查看: 212|回复: 4

[代码挑战区] 串口数据读写和存储问题

[复制链接]
发表于 2009-9-7 22:48:37 | 显示全部楼层 |阅读模式 来自 新加坡
各位大虾好,我的应用是PC和一电子设备的RS232通讯的问题,电子设备一上电.就始终给 PC 发数据,发数据的快慢和内容(协议)由我自己设计,可以改的.我的目标就是把设备发给pc的数据全部存储到文件中,不能有遗漏,我的问题是.
1.我怕设备发的过快,而我读得来不及,怕数据有覆盖,关于这点,串口缓冲区的大小,读的快慢有啥讲究.
2.这点最重要,我现在规定的数据是15个字节的, 头两个字节是常量.我先试了一种方法,把在端口(Byte at port)的数据全读进来, 然后在这个字符串中找到标志常量,从substring中读取15个字节的字符,用作分析,其余的字符就不管,分析的结果存到文件中,.这样做就发现总是隔几个没有存到.我想我每次都进来的字符串有可能大于15个字节,有可能小于,软件设计上有啥办法把这个都考虑到
我试了第二种方法,每次从串口读15个字节的数据进队列,同时我从队列一次性读完所有的数据进行分析,分析结果存进文件.结果发现没存到的数据更多.
不知哪位大侠有啥好办法解决我的问题,从软件设计和通讯协议的更改上给小弟一点建议,谢谢
 楼主| 发表于 2009-9-10 15:15:32 | 显示全部楼层 来自 新加坡
Simdroid开发平台
谢谢,问题已解决,我想,直接用软件设计就可以了,外部设备不能发得太快。
小弟还有个问题,设备电源关闭,前面板打开串口,没有错误,但一旦打开设备电源(设备自动就发数据给PC),就有串口错误提示,ERROR CODE 为1073807298, SOURCE为VISA Read,不知道这个问题谁有遇到,怎样解决?
回复 不支持

使用道具 举报

发表于 2010-1-8 09:46:59 | 显示全部楼层 来自 广东广州
现在有什么解决你上面问题的好办法吗
我现在也在做这个
但是和你的问题一样 可以分享下吗
谢谢
回复 不支持

使用道具 举报

发表于 2011-12-30 10:48:05 | 显示全部楼层 来自 浙江杭州
同求,在做相关问题,labview新手
回复 不支持

使用道具 举报

发表于 2014-8-16 13:44:04 | 显示全部楼层 来自 辽宁大连
使用中断作
回复 不支持

使用道具 举报

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

本版积分规则

Archiver|小黑屋|联系我们|仿真互动网 ( 京ICP备15048925号-7 )

GMT+8, 2024-3-29 14:07 , Processed in 0.039498 second(s), 13 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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