用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请教各位行家
终端设置: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请教各位行家
常数 值 描述
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事件
comEvCTS 3 clear-to-send 线变化。
comEvDSR 4 data-set ready 线变化。
comEvCD 5 carrier detect 线变化。
等作代码,以上建议但愿对你有帮助。