(使用mscomm32.ocx)本人将9针com插头的4,6,8脚接到一开关上,然后插入电脑com1口,4脚接的开关公共线,4-6是常断,4-8是常通,在窗口open事件写入如下代码设置电脑的com1口
MSComm.oCommPort=1 '设置
MSComm.Settings="9600,N,8,1"
MSComm.PortOpen=true
MSComm.Rthreshold=1
MSComm.Inputlen=0
MSComm.DTREnable=true
然后在oncomm事件中加入如下代码:
select case mscomm.CommEvent
             case comEvCTS  '当按下开关后
             '*这里是要进行的操作
             case  comEvDSR  '当放开开关后
             '#这里不做任何操作    
end case
问题:当按下按钮后程序可以检测到comEvCTS,然后进行*行的操作,但是*行的操作会执行很多次才停止,能不能帮我想个办法让*行的程序只执行1次后再等待开关的第二次按下呢?请指导!

解决方案 »

  1.   

    select case mscomm.CommEvent
        case comEvCTS  '当按下开关后
        Timer1.Interval = 50      '利用一个50毫秒的定时器来消除开关的抖动
        Timer1.Enabled = True     '开关的抖动会多次Enable这个定时器
        case comEvDSR  '当放开开关后
        '#这里不做任何操作    
    end casePrivate Sub Timer1_Timer()
        '定时器事件会在抖动消失后50毫秒发生
        Timer1.Enabled = False
        '*这里是要进行的操作
    End Sub
      

  2.   

    jadeluo(秀峰) 有没有QQ?我还有些问题想请教你!