但昨天没有USB接口的键盘,测试了下面的代码,一切正常。今天买了块USB接口的键盘,运行代码时,MSComm控件不触发onComm事件,说明MSComm控件没有接收到从条码形传输过来的数据。而且鼠标在使用条码仪后也不能动。求助各位高人,望指点,赐教。
Private Sub Form_Load()
With MSComm1
.CommPort = 1
.RThreshold = 13
.InputLen = 13
.InBufferCount = 0
.InBufferSize = 1024
.InputMode = comInputModeText
.PortOpen = True
End With
End SubPrivate Sub MSComm1_OnComm()
Select Case MSComm1.CommEvent
Case comEvReceive
Text1.Text = MSComm1.Input
List1.AddItem Strcom
MSComm1.InBufferCount = 0
End Select
End Sub

解决方案 »

  1.   

    LZ:OnComm事件中未见Strcom的赋值句,如果Text1.Text无任何显示(包含乱码),则可能属于端口冲突.
      

  2.   

    1、首先使用串口调试器试一试,看看是不是硬件冲突造成的。
    2、如果不是硬件冲突,再查看自己的程序。再者,你的程序似乎有些问题,看看这个行不?Private Sub Form_Load()
    With MSComm1
    .CommPort = 1
    .RThreshold = 1
    .InputLen = 13
    .InBufferCount = 0
    .InBufferSize = 1024
    .InputMode = comInputModeText
    .PortOpen = True
    End With
    End SubPrivate Sub MSComm1_OnComm()
        Select Case MSComm1.CommEvent
            Case comEvReceive
                Mscomm1.RThreshold = 0
                Sleep 10 'API函数,等待10ms,需要你自己添加声明
                Text1.Text = MSComm1.Input
                'List1.AddItem Strcom
                MSComm1.InBufferCount = 0
                MSComm1.RThreshold = 1
        End Select
        
    End Sub
      

  3.   

    有USB口的如果是COM口建议查看COM的设置是否和条码枪一样。