《MSCOMM控件在VB中发送十六进制数据的方法转-.pdf》由会员分享,可在线阅读,更多相关《MSCOMM控件在VB中发送十六进制数据的方法转-.pdf(4页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、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 设置接收数据模式为二进制形式-.In
2、putLen=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 I
3、f 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
4、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