现有的MSCOMM控件跟SerialPort类 都只能OnComm单个字符 或固定长度字符 如果遇到不定长的数据 我怎么知道他是一包数据完了呢
以前用单片机都是靠定时 精确度高 字节间隔时间大于一定值便可以认定是第二串数据了 想用PC也是这么搞 可时间精确度根本达不到要求 错误率相当高
也有人提议说判断结束符 可结束符的判断和校验差不多 如果没有校验呢 难道就一直等 而且结束符必须是特定字符 这样就限定了协议内容 检验呢 如果中间出一干扰 那么以后的就都不正确了 很苦恼 有哪位大神搞过组态软件那类工程的给指点下 像那工程的IO数据库是怎么后台做处理的 谢谢了
以前用单片机都是靠定时 精确度高 字节间隔时间大于一定值便可以认定是第二串数据了 想用PC也是这么搞 可时间精确度根本达不到要求 错误率相当高
也有人提议说判断结束符 可结束符的判断和校验差不多 如果没有校验呢 难道就一直等 而且结束符必须是特定字符 这样就限定了协议内容 检验呢 如果中间出一干扰 那么以后的就都不正确了 很苦恼 有哪位大神搞过组态软件那类工程的给指点下 像那工程的IO数据库是怎么后台做处理的 谢谢了
解决方案 »
- 如何获取持续的数据流、(程序运行后会死掉)请高手帮我解决
- 关于在新建线程中使用进度条功能?
- 对话框可以实现任意透明度,但是上面的控件始终不透明?
- MFC中多个对话框怎样共用MSComm控件
- MFC应该程序如何和WIN32命令行应用程序通信???
- 文本控件的文本长度大于控件本身的长度,请问怎么用代码来将文本分行显示出来。
- 有按钮A。除了通过点击它来触发单击消息的处理函数,在程序代码里怎么触发A按钮的消息处理函数啊??
- 请问初始化(init)的反义词是什么?
- 怎么把该DLL从98下移植到2000下,求救。
- 在线等待 求专家解答
- TLV编码怎么结束的
- 急!调用UpdateData(TRUE)后,控件变量的值仍然没有改变!
比如:干扰、错误数据。。可以給发送方一个重发请求,并等待下一次正确的重发
可以参考HDLC等较低层协议的文档