mscomm问题,为什么接收不到comEvReceive事件,只能接受comEvCTS,大家帮忙,顶有分!
我要使用COM口的条码扫描枪,读数据到,我是用Windows的超级终端可以读到数据,但是用我的程序就不行,是什么原因呀.下面是我得代码
Option Explicit
Private Sub Form_Load()
MSComm1.CommPort = 1 '设置串口号
MSComm1.Settings = "9600,n,8,1" '波特率9600bit/s,无校验,8位数据,1位停止位
MSComm1.InputLen = 0 '读取接收缓冲区的所有字符
MSComm1.PortOpen = True '打开串口
MSComm1.SThreshold = 0 '不触发发送事件
MSComm1.RThreshold = 1 '每一个字符到接收缓冲区都触发接收事件
MSComm1.OutBufferCount = 0 '清除发送缓冲区数据
MSComm1.InBufferCount = 0 '清除接收缓冲区数据
MSComm1.InputMode = comInputModeText
If Not MSComm1.PortOpen Then
MSComm1.PortOpen = True
End If
End Sub
Private Sub MSComm1_OnComm()
Dim strData As String
Select Case MSComm1.CommEvent
Case comEvReceive
MsgBox "1"
Case comEvCTS
MsgBox "2"
End Select
End Sub
请高手指教
Option Explicit
Private Sub Form_Load()
MSComm1.CommPort = 1 '设置串口号
MSComm1.Settings = "9600,n,8,1" '波特率9600bit/s,无校验,8位数据,1位停止位
MSComm1.InputLen = 0 '读取接收缓冲区的所有字符
MSComm1.PortOpen = True '打开串口
MSComm1.SThreshold = 0 '不触发发送事件
MSComm1.RThreshold = 1 '每一个字符到接收缓冲区都触发接收事件
MSComm1.OutBufferCount = 0 '清除发送缓冲区数据
MSComm1.InBufferCount = 0 '清除接收缓冲区数据
MSComm1.InputMode = comInputModeText
If Not MSComm1.PortOpen Then
MSComm1.PortOpen = True
End If
End Sub
Private Sub MSComm1_OnComm()
Dim strData As String
Select Case MSComm1.CommEvent
Case comEvReceive
MsgBox "1"
Case comEvCTS
MsgBox "2"
End Select
End Sub
请高手指教
...全文
相关推荐
VFP利用MsComm32控件接收串口(COM)数据示列
**接收串口数据** 接收串口数据主要通过`Input`属性和`OnComm`事件来实现。
MScomm空间属性
- **ComEvReceive (2)**:接收到设定数量的字符 `Rthreshold`。该事件会持续触发,直到使用 `Input` 属性删除了接收缓冲区中的数据。
vba 中引入mscomm控件
以下是一个简单的示例:```vbaPrivate Sub MSComm1_OnComm() If MSComm1.CommEvent = comEvReceive Then ' 处理接收到的数据 Dim
MSComm控件详解
- **comEvReceive**(2):表示接收到数据。- **comEvCTS**(3):CTS信号发生变化。- **comEvDSR**(4):数据设备准备好(DSR)信号发生变化。
VC的MSCOMM控件
**2.2 通信事件与错误**MSComm控件提供了丰富的通信事件监测机制,例如:- **ComEventBreak**(1001):表示接收到断开信号。


VB基础类

