用windows自带的超级终端测试正常
终端设置:com1,每秒位数:9600,数据位:8,无校验,停止位1
按一下开关,终端就收到一个数据但是我在程序里程序启动时就收到两个中断信号,后面就没发生OnComm事件了
哪里出问题了?为什么一启动起来就收到两个中断信号?
代码如下
Private Sub Form_Load()
     If Not MSComm1.PortOpen Then
         MSComm1.CommPort = 1 
         MSComm1.InputMode = comInputModeText
         MSComm1.RThreshold = 1
         MSComm1.InputLen = 0
         MSComm1.Settings = "9600,n,8,1"
         MSComm1.PortOpen = True
     End If
End SubPrivate Sub MSComm1_OnComm()
    Select Case MSComm1.CommEvent
        Case comEvReceive
            MsgBox "按下开关"
        Case comEventBreak     
            MsgBox "接受到中断信号"
    End Select
End Sub请教各位行家

解决方案 »

  1.   

    OnComm 常数
    常数 值 描述 
    comEvSend 1 发送事件。 
    comEvReceive 2 接收事件。 
    comEvCTS 3 clear-to-send 线变化。 
    comEvDSR 4 data-set ready 线变化。 
    comEvCD 5 carrier detect 线变化。 
    comEvRing 6 振铃检测。 
    comEvEOF 7 文件结束。 
    按MSComm 控件的OnComm 常数看,你接收的信号绝非00-FF的而进制数据,所以不能选接收事件
    开关信号应接入RS232口的合适脚,去产生comEvDSR事件
      

  2.   

    上述考虑不周,我认为,应从
    comEvCTS 3 clear-to-send 线变化。 
    comEvDSR 4 data-set ready 线变化。 
    comEvCD 5 carrier detect 线变化。
    等作代码,以上建议但愿对你有帮助。