首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VB >

vb MScom控件接收不到数据解决方法

2012-03-28 
vb MScom控件接收不到数据程序如下Private Sub comLED_OnComm()Select Case Me.comLED.CommEventCase comE

vb MScom控件接收不到数据
程序如下
Private Sub comLED_OnComm()
  Select Case Me.comLED.CommEvent
  Case comEvReceive
  Dim Buffer As Variant
  comLED.InputLen = 0
  '接收二进制数据
  comLED.InputMode = comInputModeBinary
  Buffer = comLED.Input
  Label11.Caption = Buffer
  Case Else
  End Select
End Sub
计算机接收不到任何数据,为什么??

[解决办法]
你在OnComm事件里面宣告定义那些东东, 进来的资料都被你自己干掉了


Dim Buffer As Variant 
comLED.InputLen = 0 
接收二进制数据 
comLED.InputMode = comInputModeBinary 

把这些宣告移到 Form_Load或其它地方吧
[解决办法]

VB code
Private Sub comLED_OnComm()    Dim Buffer() As Byte '2进制接收    Dim i As Long    Select Case Me.comLED.CommEvent        Case comEvReceive            comLED.InputMode = comInputModeBinary            comLED.InputLen = 0            '接收二进制数据            Buffer = comLED.Input            For i = 0 To UBound(Buffer)                Label11.Caption = Label11.Caption & Right("0" & Hex(Buffer(i)), 2)            Next        Case Else  End SelectEnd SubPrivate Sub Form_Load()    comLED.Settings = "9600,n,8,1"    comLED.CommPort = 1    comLED.RThreshold = 1 '产生OnComm事件的必要条件    comLED.PortOpen = True    Label11.Caption = ""End Sub
[解决办法]
楼主首先排除一下你的硬件的设置和连线问题,再确认了前者无误的情况下再来调试软件,参考一下这个,一个VB编写的串口调试器,很实用:
http://http://download.csdn.net/source/1262066
你可以参考着写程序
[解决办法]
探讨为什么在断点监视时,在运行到buffer = comLED.Input时,鼠标移到comLED.Input上方时是有文字的,但当我按F5或者窗体失去焦点时comLED.Input又变为空值了呢?各位大侠看我程序有问题吗??

[解决办法]
VB code
Option Explicit    Dim Buffer As StringPrivate Sub comLED_OnComm()    Dim i As Long    Select Case Me.comLED.CommEvent        Case comEvReceive            comLED.InputLen = 0            Buffer = Buffer & comLED.Input            Label11.Caption = Buffer  End SelectEnd SubPrivate Sub Form_Load()    comLED.Settings = "9600,n,8,1"    comLED.CommPort = 1    comLED.InputMode = comInputModeText    comLED.RThreshold = 1 '产生OnComm事件的必要条件    comLED.PortOpen = True    Label11.Caption = ""End Sub
[解决办法]
楼主的代码本身就是错误的
Buffer必须是一个Byte类型,Byte类型怎么又能作为String类型来显示?

热点排行