如果用VB编写一个上位机界面,如何与下位机进行通信,即数据的传输
展开全部
我用过Mscomm控件的
设置初始MSCOMM后自己定义数据长度
部分代码如下:
Private Sub initcom() 串口初始化程序块
MSComm1.CommPort = 1 '选用com1串行口
MSComm1.Settings = "9600,N,8,1" '波特率9600,无奇偶校验位,8位数据位1位停止位
MSComm1.InputLen = 0 'input将读取接收缓冲区的全部内容
MSComm1.InBufferSize = 1024 '设置接收缓冲区的字节长度
'MSComm1.PortOpen = True '打开通信口
MSComm1.InBufferCount = 0 '清除接收缓冲区数据
MSComm1.OutBufferCount = 0 '清除发送缓冲区数据
MSComm1.InputMode = comInputModeText
'MSComm1.InputMode = comInputModeBinary
'periodic.inteval = 100 '设置ls定时间隔,使遥测命令每隔ls发送1次
End Sub
Private Sub MSComm1_OnComm() 接收,发送处理事件
MSComm1.RThreshold = 0
Dim b As String
If MSComm1.CommEvent = comEvReceive Then
b = MSComm1.Input
Text1.Text = Text1.Text & b & " "
Text1.SelStart = 0 'Len(Text1.Text)
Call confirm(b)
End If
MSComm1.RThreshold = 148
End Sub
更多相关:http://www.yu3zx.com/board.asp?boardid=3还有以后我的网站yu3zx.com有相关代码收集
设置初始MSCOMM后自己定义数据长度
部分代码如下:
Private Sub initcom() 串口初始化程序块
MSComm1.CommPort = 1 '选用com1串行口
MSComm1.Settings = "9600,N,8,1" '波特率9600,无奇偶校验位,8位数据位1位停止位
MSComm1.InputLen = 0 'input将读取接收缓冲区的全部内容
MSComm1.InBufferSize = 1024 '设置接收缓冲区的字节长度
'MSComm1.PortOpen = True '打开通信口
MSComm1.InBufferCount = 0 '清除接收缓冲区数据
MSComm1.OutBufferCount = 0 '清除发送缓冲区数据
MSComm1.InputMode = comInputModeText
'MSComm1.InputMode = comInputModeBinary
'periodic.inteval = 100 '设置ls定时间隔,使遥测命令每隔ls发送1次
End Sub
Private Sub MSComm1_OnComm() 接收,发送处理事件
MSComm1.RThreshold = 0
Dim b As String
If MSComm1.CommEvent = comEvReceive Then
b = MSComm1.Input
Text1.Text = Text1.Text & b & " "
Text1.SelStart = 0 'Len(Text1.Text)
Call confirm(b)
End If
MSComm1.RThreshold = 148
End Sub
更多相关:http://www.yu3zx.com/board.asp?boardid=3还有以后我的网站yu3zx.com有相关代码收集
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询