wyhhh2001 2023-03-25 14:19 采纳率: 0%
浏览 72
已结题

[付费悬赏] 用VB6.0接收16进制数据

付费悬赏
现需要用VB6.0 通过串口来接收一组16进制的数据 01 03 10 09 CE 00 00 00 00 00 00 00 00 00 00 00 00 00 00 6C 5B 。
我用了MSCOMM控件用二进制形式接收不了数据。
PS:
这套系统是将电流信号转换为16进制数字信号传输到电脑
我使用调试软件可以接收到数据
但是用vb编程时好像触发不了MSComm1_OnComm()事件,一个字节都没有收到?
这是什么原因呢?
急需解答,成功后会付费,谢谢各位了!

img

img

  • 写回答

6条回答 默认 最新

  • 「已注销」 2023-03-25 15:49
    关注

    参考gpt,以下是VB6代码,可以通过串口接收一组16进制数据:

    
    Private Sub Form_Load()
        With MSComm1
            .CommPort = 1 ' 设置使用的串口号
            .Settings = "9600,n,8,1" ' 设置串口通信参数
            .InputMode = comInputModeBinary ' 设置输入模式为二进制模式
            .InBufferSize = 1024 ' 设置缓冲区大小
            .RThreshold = 1 ' 设置读取数据的阈值
            .SThreshold = 0 ' 设置发送数据的阈值
            .Handshaking = comNone ' 设置握手方式
            .NullDiscard = False ' 不丢弃空字符
            .PortOpen = True ' 打开串口
        End With
    End Sub
    
    Private Sub MSComm1_OnComm()
        Dim data As String
        
        If MSComm1.CommEvent = comEvReceive Then ' 判断事件类型是否为接收数据
            data = HexToString(MSComm1.Input) ' 将接收到的二进制数据转换为字符串
            Debug.Print "Received data: " & data ' 输出接收到的数据
        End If
    End Sub
    
    Private Function HexToString(ByVal hex As String) As String
        Dim i As Long
        
        If Len(hex) Mod 2 = 1 Then ' 如果字符串长度为奇数,补一个0
            hex = "0" & hex
        End If
        
        For i = 1 To Len(hex) Step 2 ' 将每两个字符转换为一个字节
            HexToString = HexToString & Chr(CByte("&H" & Mid(hex, i, 2)))
        Next i
    End Function
    
    
    

    上述代码中,使用了MSCOMM控件来实现串口通信,通过设置InputMode属性为comInputModeBinary来设置输入模式为二进制模式,然后通过HexToString函数将接收到的二进制数据转换为字符串。在MSComm1_OnComm事件中判断事件类型是否为接收数据,如果是则输出接收到的数据。

    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 3月26日
  • 修改了问题 3月25日
  • 创建了问题 3月25日

悬赏问题

  • ¥15 react-diff-viewer组件,如何解决数据量过大卡顿问题
  • ¥20 遥感植被物候指数空间分布图制作
  • ¥15 安装了xlrd库但是import不了…
  • ¥20 Github上传代码没有contribution和activity记录
  • ¥20 SNETCracker
  • ¥15 数学建模大赛交通流量控制
  • ¥15 为什么我安装了open3d但是在调用的时候没有报错但是什么都没有发生呢
  • ¥50 paddleocr最下面一行似乎无法识别
  • ¥15 求某类社交网络数据集
  • ¥15 靶向捕获探针方法/参考文献