您的位置:程序门 -> vb -> 基础类



串口接受到一个中断信号??


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


串口接受到一个中断信号??
发表于:2007-09-18 23:41:23 楼主
用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   sub

private   sub   mscomm1_oncomm()
        select   case   mscomm1.commevent
                case   comevreceive
                        msgbox   "按下开关 "
                case   comeventbreak          
                        msgbox   "接受到中断信号 "
        end   select
end   sub

请教各位行家
发表于:2007-09-19 09:39:301楼 得分:0
你为什么要响应中断信号啊?
发表于:2007-09-19 10:58:562楼 得分:0
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事件
发表于:2007-09-19 11:09:453楼 得分:0
上述考虑不周,我认为,应从
comevcts   3   clear-to-send   线变化。  
comevdsr   4   data-set   ready   线变化。  
comevcd   5   carrier   detect   线变化。
等作代码,以上建议但愿对你有帮助。


快速检索

最新资讯
热门点击