
用vb实现RS232通讯
若以下回答无法解决问题,邀请你更新回答
4个回答
展开全部
新建VB工程,由工程菜单选部件项,在Microsoft Comm Control 6.0部件前打钩确定,VB的工具箱中就有MSCOMM控件,添加到窗体.下列代码可按2进制接收数据,处理为16进制字符串显示数据. 根据通信协议,确定VB的算法,编写收发代码。接收可按如下代码:
Option Explicit
Dim inData As String
Dim arr() As Byte
Private Sub Form_Load()
MSComm1.Settings = "9600,n,8,1"
MSComm1.RThreshold = 1
MSComm1.InputMode = comInputModeBinary '二进制接收
MSComm1.PortOpen = True
End Sub
Private Sub MsComm1_OnComm()
Dim intInputLen As Integer
Dim i As Integer
Select Case MSComm1.CommEvent
Case comEvReceive
'此处添加处理接收的代码
intInputLen = MSComm1.InBufferCount
ReDim arr(intInputLen)
arr = MSComm1.Input
For i = 0 To UBound(arr)
If Len(Hex(arr(i))) = 1 Then
inData = inData & "0" & Hex(arr(i))
Else
inData = inData & Hex(arr(i))
End If
Next
Text2 = inData
End Select
End Sub
详细可参阅:
http://zhidao.baidu.com/question/57009544.html
http://zhidao.baidu.com/question/51386347.html
http://zhidao.baidu.com/question/43498047.html
有问题发消息.
Option Explicit
Dim inData As String
Dim arr() As Byte
Private Sub Form_Load()
MSComm1.Settings = "9600,n,8,1"
MSComm1.RThreshold = 1
MSComm1.InputMode = comInputModeBinary '二进制接收
MSComm1.PortOpen = True
End Sub
Private Sub MsComm1_OnComm()
Dim intInputLen As Integer
Dim i As Integer
Select Case MSComm1.CommEvent
Case comEvReceive
'此处添加处理接收的代码
intInputLen = MSComm1.InBufferCount
ReDim arr(intInputLen)
arr = MSComm1.Input
For i = 0 To UBound(arr)
If Len(Hex(arr(i))) = 1 Then
inData = inData & "0" & Hex(arr(i))
Else
inData = inData & Hex(arr(i))
End If
Next
Text2 = inData
End Select
End Sub
详细可参阅:
http://zhidao.baidu.com/question/57009544.html
http://zhidao.baidu.com/question/51386347.html
http://zhidao.baidu.com/question/43498047.html
有问题发消息.
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
串口通信嘛
.串口很简单的.
你可以留下你的邮箱或QQ我给你传过去一个源代码.
基本上一看就明白了.
.串口很简单的.
你可以留下你的邮箱或QQ我给你传过去一个源代码.
基本上一看就明白了.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
我的博客上有相关的说明,你可以去看看,还有,就是好像有三四本书专门讨论这个问题.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询