单片机的原因可以排除吧?同样的调试程序,c#百试不爽,vb怎么搞都不正常。你叫人家怎么配合你?我想知道,vb的那个控件是不是有什么属性需要设置?瞬间解决问题
解决方案 »
- vb中的ComboBox,为何它的change事件没反应?
- 帮忙啊,哪位朋友能提供我汽车零部件资料啊./....
- TreeView的一个问题
- 用XPmenu控件怎么会造成状态栏不能用?
- 下面代码是从MSDN copy 的看看有什么问题
- 如何在vb6中将数据库中的图片显示在窗体中
- 字节问题请求帮助!!!!
- 计算机信息管理专业,制作网页(VS2010),求大神。
- 这样的查询语句怎么写???
- 为什么我的vb里有乱码?
- 怎么把取回来的 Tue, 23 Sep 2014 17:16:52 GMT 转为 2014-9-23 ?
- VB6.0 DataGrid如何在绑定的数据后面增加一列CheckBox的选择列?
解决办法就是自己编程再建个缓冲区,在MSComm1_OnComm事件里检测到comEvReceive消息的时候把数据直接读到自建的缓冲区里面,然后根据协议对自建缓冲区的数据进行处理。
Out(0) = &H55
Out(1) = &HEE
Out(2) = &H50
Out(3) = &H33
Out(8) = &HC6
'//Send code:55 EE 50 33 0 0 0 0 C6
Comm.Output = Out
Sleep 500
If Comm.InBufferCount < 5 Then Exit Sub '//实际字节数应为9,考虑到调试时可能收不完
Dim DataBuff As Variant
Dim DTcount As Integer
DoEvents
DTcount = Comm.InBufferCount
DataBuff = Comm.Input
DoEvents
Loop当然,你还可以加上超时处理。
可惜搞了半天没个头绪,俺只好用串口API解决了,反正通信协议不是很复杂。至于Comm_OnComm事件,很多时候蛮好用,但不该用到它时最好不要纠结,阿拉吃过这种亏的。