解决方案 »
- VB 编程里 form_load 在一个 窗体 里不是必须的吗?
- 请问怎么改变 ListView 中指定行(能细化到列最好)的字体和背景颜色(解决后可单独给分100)
- 请教各位TRUE DBGRID PRO7.0排序功能!!!
- Regsvr32指令的问题
- VB中数据类型问题
- 关于ActiveReport?
- 【请教】如何模拟点击“立即推广”和模拟执行对应的java方法
- 怎样实现鼠标取词,就像是金山词霸那样!!
- 我用: Open "e:\mypicture.jpg" For Output As #1 语句打开一个文件,但是说文件已打开,但是发生错误55。为什么
- 请从位高手帮小弟解决一个棘手的问题……………………多谢!!!!!!!
- 这段不打开EXCEL读写数据的VBA代码如何改成VB代码?
- LKOAAspcn.dll求助
1、用公共变量
2、分步处理
3、也可以按单片机的思路处理,比如模拟环境
ReadBytes = MSComm1.Input
ReadCount = UBound(ReadBytes)
For i = 0 To ReadCount
ReadByte = ReadBytes(i)
'...
' 这样就每次处理一个字节了
'...
Next i
Dim Bytedata() As ByteSelect Case Comm.CommEvent
Case comEvReceive
On Error Resume Next Bytedata = Comm.Input
end select
http://topic.csdn.net/u/20110404/10/32a8336b-be14-4135-ba3c-9e604a8a2b4e.html
我疑问的是
1.我自己获取串口返回的input值,有时候完整数据包有时又是残缺的
2.使用网上的各种串口调试工具却每次都是完整的数据包
这是为什么呢?前提是我每次向设备发送一次“410”命令的请求,它就应该会返回一个完整的数据包
大神能不能给解释下,比如说我获得的一个段数据内容没有缺失前面的包头相关标识和一部分内容,请问这一部分内容怎么丢失掉到?
数据不完整往往是因为从 Input 缓存中获取数据太早。串口是极低速的通讯端口,与 PC 代码运行差几个数量级。如果你知道应该返回多少个字节,可以检查 InBufferCount:Do Until MSComm1.InBufferCount = 32
DoEvents
Loop
InputSignal = MSComm1.Input如果接收到字节数是常数,可以直接设置 RThreshold 属性为此常数。就不需要循环检查。如果你不知道返回多少字节,可以在 InputSignal = MSComm1.Input 前加延时,通过实验确定能够收到最长完整数据所需的时间。