2 zxc7273218 zxc7273218 于 2014.12.14 10:45 提问

关于MSComm1_OnComm事件中Case comEvReceive问题

大家好,
MSComm1_OnComm事件中Case comEvReceive时,非要在comEvReceive后面加个数字才能收到串口发过来的字符,比如Case comEvReceive1或Case comEvReceive22,不加数字就收不到,我的是WIN7系统,奇怪了,请问怎么回事?程序如下(简单测试的):

 Private Sub Command1_Click()
    MSComm1.Output = Text1.Text
End Sub

Private Sub Command2_Click()
    MSComm2.Output = Text2.Text
End Sub

Private Sub Form_Load()
    With MSComm1
        .Settings = "19200,n,8,1"
        .CommPort = 5
        .InputMode = comInputModeText
        .InputLen = 0
        .SThreshold = 1
        .RThreshold = 1
        .OutBufferCount = 0
        .InBufferCount = 0
        If Not .PortOpen Then .PortOpen = True
    End With

    With MSComm2
        .Settings = "19200,n,8,1"
        .CommPort = 6
        .InputMode = comInputModeText
        .InputLen = 0
        .SThreshold = 1
        .RThreshold = 1
        .OutBufferCount = 0
        .InBufferCount = 0
        If Not .PortOpen Then .PortOpen = True
    End With
End Sub

Private Sub MSComm1_OnComm()
    Select Case CommEvent
        Case comEvReceive111
            Text1 = Text1 + MSComm1.Input
    End Select
End Sub

Private Sub MSComm2_OnComm()
    Select Case CommEvent
        Case comEvReceive111
            Text2 = Text2 + MSComm2.Input
    End Select
End Sub

我好像没有悬赏分了,不知道有没有人帮我解答,5555555~~~

3个回答

danielinbiti
danielinbiti   Ds   Rxr 2014.12.17 14:03
已采纳

窗体最上方加上

 Option Explicit

同时
Select Case CommEvent 改成Select Case MSComm2.CommEvent

devmiao
devmiao   Ds   Rxr 2014.12.15 15:45

Case 0
可以收到么?
估计CommEvent返回的是0,comEvReceive111相当于定义了一个新变量,所以相当于0

lzp_lrp
lzp_lrp   Ds   Rxr 2014.12.18 11:52

我一般用

if comEvReceive = 2 then
end if

这么来处理

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
本机串口通信
可以进行本机串口通信 Private Sub Mscomm1_Oncomm() 'Select Case MSComm1.CommEvent ' Case comEvReceive Text2.Text = Text2.Text & MSComm1.Input 'End Select End Sub
VB中 MSComm控件使用详解
MSComm        控件通过串行端口传输和接收数据,为应用程序提供串行通讯功能。MSComm控件在串口编程时非常方便,程序员不必去花时间去了解较为复杂的API函数,而且在VC、VB、Delphi等语言中均可使用。        Microsoft Communications        Control(以下简称MSComm)是Microsoft公司提供的简化Windows下串行通
关于随机码的事件问题
关于随机码的事件问题关于随机码的事件问题
关于VerilogHDL中case语句的功能仿真与时序仿真不一致的疑问
关于VerilogHDL中case语句的功能仿真与时序仿真不一致的疑问博主近来刚学习VerilogHDL,想要做个小东西玩。在使用case语句时,发现功能仿真与时序仿真的结果是不一致的。现在把这个问题贴出来,希望有万能的博友指点一下,不胜感激! 这一段是用来产生控制用的两个信号RoS_encode_out和RoS_lead_out module control( clk20_031KHz_in,rs
Axure中事件、用例和动作之间的关系
Axure中事件、用例和动作之间的关系
UseCase事件流描述规范
文/fasiondog 整理需求用例的编写规范,分享部分UseCase事件流描述规范。其中,准则5~10、12来自《编写有效用例》([美] Alistair Cockburn 著)一书,其它为自身实践和要求。 事件流包含正常事件流、可选事件流、异常事件流程,前述三者合在一起的本质就是用文字描述的流程。事件流由文字描述的步骤组成,写作过程中应遵循以下准则,这些准则是对用例写作过程中的常见问题和最
verilog -- case、casez、casex
verilog -- case、casez、casex 在case语句中,敏感表达式与各项值之间的比较,是一种全等比较。 casez与casex语句是case语句的两种变体,三者的表示形式中唯一的区别是三个关键词case、casez、casex的不同。 在casez语句中,如果分支表达式某些位的值为高阻z,那么对这些位的比较就会忽略,不予考虑,而只关注其他位的比较
一道有关switch-case题目
一道有关switch-case题目/** * * @title:SwitchCase.java * @Package:com.you.hbxs.model * @Description:一句话描述功能 * @author: * @date:2016-2-24下午11:01:48 * @version V1.0 * */ package com.you.hbxs.model; /
为什么在Library中无法使用switch-case来实现点击事件的判定??
最近一直在在接触组件化工程,项目中将每个模块都独立出来,然后Module中的application对这些组件Library做些依赖,然后组装在一起,就成了一个大型的工程了,废话不多说,今天直接进入主题,首先,我们先新建一个工程,然后在其中activity_main.xml写下如下代码: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmln
Axure的基本操作-为部件添加事件(add case)
本次以矩形部件,实现点击事件,链接到百度页面作为一个例子,来介绍如何进行为部件添加事件。