【用户界面】
PS:暂时用个立方体代替了,贴纸随便找的,囧喷了。
【通讯协议】
Private Sub Form_Load()
Dim I As Integer
XXXXXXXXXXXmPort = 6 '设置通信端口号为COM6 XXXXXXXXXXttings = "4800,n,8,1" '设置串口参数 XXXXXXXXXXputMode = 0 '接收文本型数据 MSComm1.PortOpen = True '打开通信端口
MSComm1.RThreshold = 1 ''接收缓冲区每收到一个字符都会使 MSComm 控件触发OnComm 事件
省略。。。。。。
End Sub
'MSComm 的 OnComm 事件程序
'由 CommEvent 属性值的不同,将各自的程序代码写入相关的子程序中
Private Sub MSComm1_OnComm()
Dim buf$
Select Case XXXXXXXXXXXmEvent '通过取代底下每一个 case 表达式来处理每个事件与错误
Case comEvCD ' CD 线的状态发生变化
Case comEvCTS ' CTS 线的状态发生变化
Case comEvDSR ' DSR 线的状态发生变化
Case comEvRing ' Ring Indicator 变化
Case comEvReceive ' 收到 RThreshold # of
buf = Trim(XXXXXXXXXXput) '将缓冲区内的数据读入buf变量中 If Len(buf) = 6 Then '判断缓冲区内是否存在数据
TextReceive.Text = buf ' Chr(13) + Chr(10)换行
If Right(buf, 1) = "X" Then
Y = Val(Mid(buf, 2, 4))
Text7.Text = Y
Call draw1
End If
If Right(buf, 1) = "Y" Then
Y = Val(Mid(buf, 2, 4))
Text8.Text = Y
Call draw2
End If
If Right(buf, 1) = "Z" Then
Y = Val(Mid(buf, 2, 4))
Text9.Text = Y
Call draw3
End If
If Right(buf, 1) = "B" Then
Y = Val(Mid(buf, 2, 4))
Call drawB
End If
If Right(buf, 1) = "C" Then
Y = Val(Mid(buf, 2, 4))
Call drawC
End If
If Right(buf, 1) = "D" Then
Y = Val(Mid(buf, 2, 4))
Call drawD
End If
End If
If Len(buf) = 9 Then '判断缓冲区内是否存在数据
TextReceive.Text = buf ' Chr(13) + Chr(10)换行
If Right(buf, 1) = "[s:9]" Then
a1 = Val(Mid(buf, 2, 7))
x5 = x5 + 1
Text11.Text = Text11.Text & x5 & " " & Str(a1) & Chr(13) & Chr(10)
XXXXXXXXXtFocus XXXXXXXXXlStart = Len(Text11.Text) End If
End If
Case comEvSend ' 传输缓冲区有 Sthreshold 个字符 '
End Select
End Sub
【开源】
【上位机程序 开发环境VB6.0+Win7】
小哈の上位机の3D.rar
21.98KB
RAR
76次下载
【附上我的一篇关于用VB6.0开发上位机的教程】
原本找不到了,我就去当初原帖拷过来的,所以有水印。
新手建议先看这个文档。
【教程贴】用VB开发上位机.rar
149.03KB
RAR
47次下载