vb mscomm 接收不到数据
Private Sub Form_Load()
Dim i As Integer
If MSComm1.PortOpen = True Then
MSComm1.PortOpen = False
End If '先判断串口是否关闭,如果打开则关闭
MSComm1.CommPort = 5 'COM端口
MSComm1.Settings = "115200,n,8,1"
MSComm1.InputLen = 0 '读取接收缓冲区的所有字符
MSComm1.InputMode = comInputModeBinary '采用二进制传输
MSComm1.InBufferSize = 1024 '接受缓冲区为1024字节
MSComm1.OutBufferSize = 2048 '发送缓冲区位2048字节
MSComm1.InBufferCount = 0 '清空接受缓冲区
MSComm1.OutBufferCount = 0 '清空传输缓冲区
MSComm1.SThreshold = 0 '禁止发送事件
MSComm1.RThreshold = 1 '产生MSComm事件
Command2.Enabled = False '初始化时设置“关闭”按钮不可用
End Sub
Private Sub MSComm1_OnComm()
Dim inbyte() As Byte '存储接收串口数据
Dim buffer As String '存储处理后的串口数据
Dim lenbuffer As Integer '存储处理后的串口数据长度
Dim i As Integer '设置循环变量
Select Case MSComm1.CommEvent
Case comEvReceive
inbyte = MSComm1.Input
For i = LBound(inbyte) To UBound(inbyte)
If Len(Hex(inbyte(i))) = 1 Then
buffer = buffer + "0" + Hex(inbyte(i)) + Chr(32)
Else
buffer = buffer + Hex(inbyte(i)) + Chr(32)
End If
lenbuffer = Len(Replace(Trim(buffer), " ", ""))
Select Case lenbuffer
Case Is = 14
If CByte("&H" & (Mid(Replace(buffer, " ", ""), 1, 2))) = &HAA _
And "&H" & (Mid(Replace(buffer, " ", ""), 14 - 4 + 1, 2)) = &H42 _
And "&H" & (Mid(Replace(buffer, " ", ""), 14 - 2 + 1, 2)) = &H42 Then
If "&H" & (Mid(Replace(buffer, " ", ""), 14 - 12 + 1, 2)) = &H55 Then
If "&H" & (Mid(Replace(buffer, " ", ""), 14 - 10 + 1, 2)) = &H43 _
And "&H" & (Mid(Replace(buffer, " ", ""), 14 - 8 + 1, 2)) = &H47 _
And "&H" & (Mid(Replace(buffer, " ", ""), 14 - 6 + 1, 2)) = &H8A Then
Text2.Text = "测试通过"
End If
End If
End If
case is = 18
....... 省略
End Select
Next i
End Sub
想问下,为什么上位机接收不到数据???
相关推荐
vb.rar_VB6.0_VB6.0 mscomm_vb6.0 串口
使用VB6.0编写的串口通讯程序界面。使用了控件mscomm
VB串口通信编程实战:MSComm控件深度应用
MSComm控件提供了丰富的属性和事件,可以实现对串行端口的全面控制。使用MSComm控件进行通信的基本流程包括:配置串口属性:设置串口的波特率、数据位、停止位和奇偶校验位等参数。打开串口:通过设置PortOpen属性为True来打开串口进行通信。发送数据:通过Output属性向串口发送数据。接收数据:通过Input属性读取串口缓冲区中的数据。关闭串口:完成通信后,通过设置PortOpen属性为False来关闭串口。
VB实现串口数据接收全流程指南
串口通信,又称为串行通信,是一种常见的计算机硬件接口通信方式,它通过单一的线路进行数据的发送和接收。串口通信采用的是异步串行通信方式,即数据以位为单位,逐位传输,而这些位被组织成字节流。在每个字节的传输中,还会包括起始位、数据位、停止位和校验位等,从而确保数据的完整性和正确性。在IT行业中,串口通信技术广泛应用于嵌入式系统、工业控制系统、通信设备和计算机之间的数据交换,它具有结构简单、使用方便、成本低廉等特点。理解串口通信的基本原理和概念,对于进行有效的数据通信和故障排除至关重要。
掌握MSComm32控件:VB串口通信注册与应用
在本章节中,我们将深入了解MSComm32控件的核心功能与应用方式。MSComm32控件是Microsoft Communications Control的一个32位版本,它提供了一种简单的方法来实现串口通信。这一章分为两大部分:MSComm32控件的定义和特点、MSComm32控件的安装和配置。MSComm32控件是一种ActiveX控件,最初由Microsoft公司开发,用于简化Windows应用程序中的串口通信。
VB项目发布必带项目运行环境(mscomm32.ocx COmdlg32.ocx)带详细安装步骤
VB开发一个软件利用串口通讯,移植到没有安装VB运行环境的电脑报错,mscomm32.ocx COMDLG32.OCX


控件
