搜索
您的当前位置:首页MSCOMM控件在VB中发送十六进制数据的方法.

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

来源:乌哈旅游


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

[2006-4-1316:39:28|By:MCUBLOG ]

推 荐

一、初始化配置

Private Sub Form_Load(

'-------------------------------------------------------------------------------------

With MSComm1

If .PortOpen =True Then

.PortOpen =False

End If

.CommPort =4'使用 COM1

.Settings =BaudRate &\设置通信口参数

.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 \"串口被占用或此串口不存在!通信无效!\错误提示\"

Exit Sub

End If

End If

End With

End Sub

注意:数据收发模式为 .InputMode =comInputModeBinary '设置接收数据模式为二进制形式 二、发送一个字节的 16进制数据

Dim aa(0As 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 =0To UBound(InByte'循环到指针上标

If InByte(j=13Then

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

因篇幅问题不能全部显示,请点此查看更多更全内容

Top