关于VB中MSComm控件收发十六进制数据的问题 50
我要用VB6.0,在windows下编一个串口收发程序。今天在网上游了半天也没解决问题。具体要求是:利用串口接收十六进制数据:00.7F.8F.9F.xx.yy.zz7位...
我要用VB6.0,在windows下编一个串口收发程序。今天在网上游了半天也没解决问题。具体要求是:
利用串口接收十六进制数据:00.7F.8F.9F.xx.yy.zz 7位数据,后面三位xx.yy.zz是不固定的,前面四位是固定的。然后从接收到的数据中提取出yy位。以yy.yy.02的形式发出去。MSComm1.Settings = "2400,N,8,1"
在这方面我是新手,渴望得到大家的帮助。先说声谢谢!
已经能顺利接收十六进制啦,但不知怎么发送,照原样发样出去。测试的灯不亮。
Private Sub Form_Load()
'If MSComm1.PortOpen = False Then
MSComm1.CommPort = 2 '...使用Com2口
MSComm1.Settings = "2400,n,8,1" '...设置通讯参数
MSComm1.PortOpen = True '...打开串口
'End If
MSComm1.OutBufferCount = 0
MSComm1.InBufferCount = 0
MSComm1.RThreshold = 8
End Sub
Private Sub MSComm1_OnComm()
Dim aa As String
Select Case MSComm1.CommEvent
Case comEvReceive
Dim InByte() As Byte '定义一个二进制指针放接收到的数据
Dim outByte(0 To 2) As Byte
InByte = MSComm1.Input '数据转移到指针
outByte(0) = InByte(6)
outByte(1) = InByte(6)
outByte(2) = &H1
MSComm1.Output = outByte
MSComm1.InBufferCount = 0 '...清空输入寄存器
MSComm1.OutBufferCount = 0
end sub 展开
利用串口接收十六进制数据:00.7F.8F.9F.xx.yy.zz 7位数据,后面三位xx.yy.zz是不固定的,前面四位是固定的。然后从接收到的数据中提取出yy位。以yy.yy.02的形式发出去。MSComm1.Settings = "2400,N,8,1"
在这方面我是新手,渴望得到大家的帮助。先说声谢谢!
已经能顺利接收十六进制啦,但不知怎么发送,照原样发样出去。测试的灯不亮。
Private Sub Form_Load()
'If MSComm1.PortOpen = False Then
MSComm1.CommPort = 2 '...使用Com2口
MSComm1.Settings = "2400,n,8,1" '...设置通讯参数
MSComm1.PortOpen = True '...打开串口
'End If
MSComm1.OutBufferCount = 0
MSComm1.InBufferCount = 0
MSComm1.RThreshold = 8
End Sub
Private Sub MSComm1_OnComm()
Dim aa As String
Select Case MSComm1.CommEvent
Case comEvReceive
Dim InByte() As Byte '定义一个二进制指针放接收到的数据
Dim outByte(0 To 2) As Byte
InByte = MSComm1.Input '数据转移到指针
outByte(0) = InByte(6)
outByte(1) = InByte(6)
outByte(2) = &H1
MSComm1.Output = outByte
MSComm1.InBufferCount = 0 '...清空输入寄存器
MSComm1.OutBufferCount = 0
end sub 展开
2个回答
展开全部
网上有...下载去
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
我想问一下的是,你怎样接收到16进制数据?可以把详细代码给一下么?谢谢,我这个接收到16进制数据想显示在文本框里面,不知道怎样写代码。刚接手VB,表示亚历山大啊,还请大神帮帮忙
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询