- 积分
- 0
- 注册时间
- 2004-11-5
- 仿真币
-
- 最后登录
- 1970-1-1
|
各位大虾好,我的应用是PC和一电子设备的RS232通讯的问题,电子设备一上电.就始终给 PC 发数据,发数据的快慢和内容(协议)由我自己设计,可以改的.我的目标就是把设备发给pc的数据全部存储到文件中,不能有遗漏,我的问题是.
1.我怕设备发的过快,而我读得来不及,怕数据有覆盖,关于这点,串口缓冲区的大小,读的快慢有啥讲究.
2.这点最重要,我现在规定的数据是15个字节的, 头两个字节是常量.我先试了一种方法,把在端口(Byte at port)的数据全读进来, 然后在这个字符串中找到标志常量,从substring中读取15个字节的字符,用作分析,其余的字符就不管,分析的结果存到文件中,.这样做就发现总是隔几个没有存到.我想我每次都进来的字符串有可能大于15个字节,有可能小于,软件设计上有啥办法把这个都考虑到
我试了第二种方法,每次从串口读15个字节的数据进队列,同时我从队列一次性读完所有的数据进行分析,分析结果存进文件.结果发现没存到的数据更多.
不知哪位大侠有啥好办法解决我的问题,从软件设计和通讯协议的更改上给小弟一点建议,谢谢 |
|