收藏 分销(赏)

MSCOMM控件在VB中发送十六进制数据的方法转.doc

上传人:仙人****88 文档编号:11849127 上传时间:2025-08-15 格式:DOC 页数:4 大小:25KB 下载积分:10 金币
下载 相关
MSCOMM控件在VB中发送十六进制数据的方法转.doc_第1页
第1页 / 共4页
MSCOMM控件在VB中发送十六进制数据的方法转.doc_第2页
第2页 / 共4页


点击查看更多>>
资源描述
MSCOMM控件在VB中发送十六进制数据的方法<转> 一、初始化配置 Private Sub Form_Load()        '-------------------------------------------------------------------------------------   With MSComm1         If .PortOpen = True Then         .PortOpen = False      End If            .CommPort = 4                     '使用COM1       .Settings = BaudRate & ",n,8,1 "       '设置通信口参数       .InBufferSize = 1024              '设置MSComm1接收缓冲区为1024字节       .OutBufferSize = 1024             '设置MSComm1发送缓冲区为1024字节             .InputMode = comInputModeBinary   '设置接收数据模式为二进制形式 '-----------------------------------------------------------------------------------------------------       .InputLen = 0                     '设置Input 一次从接收缓冲读取全部字节数       .SThreshold = 0                   '设置发送完所有产生OnComm事件       .InBufferCount = 0                '清除接收缓冲区       .OutBufferCount = 0               '清除发送缓冲区         .RThreshold = 1                   '设置接收一个字节产生OnComm事件     '  .RTSEnable = True '-----------------------------------------------------------------------------------------------------       If Not .PortOpen Then             '判断通信口是否打开          On Error Resume Next         .PortOpen = True                '打开通信口           If Err Then                   '错误处理              MsgBox "串口被占用或此串口不存在!通信无效!", 16, "错误提示"              Exit Sub           End If       End If   End With     End Sub 注意:数据收发模式为 .InputMode = comInputModeBinary   '设置接收数据模式为二进制形式 二、发送一个字节的16进制数据 Dim aa(0) As Byte aa(0) = &HAA MSComm1.Output = aa 三、接收数据(事件方式) Private Sub MSComm1_OnComm()     On Error Resume Next     Dim inData As String '串口接收的数据     Dim InByte() As Byte '定义一个二进制指针放接收到的数据     Dim inByte1() As Byte         Select Case MSComm1.CommEvent '选择事件     Case comEvReceive '接收到字符        TimeNum = 4 '-----------------赋值计时常量             InByte = MSComm1.Input '数据转移到指针       '  Serial_Rece_Fg = True         Dim j As Long         For j = 0 To UBound(InByte) '循环到指针上标                If InByte(j) = 13 Then                     inData = inData & vbCr 'Lf                Else                     inData = inData & Chr(InByte(j)) '------ascii码显示处理                End If          Next j                 Txt_Rcv.SelText = inData '将刚收到的字符串显示出来         inData = ""         Txt_Rcv.SelStart = Len(Txt_Rcv.Text) '光标置后                     Case comEventRxOver '--------------------接收缓冲区满的处理         MSComm1.InBufferCount = 0         MsgBox "接收缓冲区满了!" '----------发出警告     End Select End Sub
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服