📄 publicvar.bas
字号:
Attribute VB_Name = "PublicVar"
Option Explicit
Public OpenPort As Byte
Public PortSet As String
Public Sbyte() As Byte '串行接受数组
Public FullPath As String
'Public RecNum As Integer '接收个数
'Public TraNum As Integer '发送个数
Public CmdIndex As Byte 'Frv2当前按下的按钮
Public Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long) '睡眠API
Public Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" _
(ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal _
lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long '打开文件API
Public Sub MSCommset()
OpenPort = Form1.Combo1.Text
PortSet = Form1.Combo2.Text & "," & Form1.Combo4.Text & "," & _
Form1.Combo3.Text & "," & Form1.Combo5.Text
With Form1.MSComm1 'MSComm Setting
.OutBufferSize = 2
.InBufferSize = 1
.InputMode = comInputModeBinary
.InputLen = 1 '一次从缓冲区读取一字节
.RThreshold = 1 '接收一字节就中断
.OutBufferCount = 0 '输出清0
.InBufferCount = 0 '输入清0
.CommPort = OpenPort '设置打开端口
.Settings = PortSet '设置波特特率
.PortOpen = True '打开端口
End With
End Sub
Public Sub StartAD()
Sleep 100
Call SendF
ReDim Sbyte(0)
Sbyte(0) = 0 '启动AD
Form1.MSComm1.Output = Sbyte
Sleep 100
Sbyte(0) = &HE0
Form1.MSComm1.Output = Sbyte
End Sub
Public Sub StopAD()
ReDim Sbyte(0)
Sbyte(0) = 0 '停止AD
Form1.MSComm1.Output = Sbyte
Sleep 100
Sbyte(0) = &HC0
Form1.MSComm1.Output = Sbyte
End Sub
Public Sub SendF()
ReDim Sbyte(0)
Sbyte(0) = 0 '发送频率
Form1.MSComm1.Output = Sbyte
Sleep 100
Sbyte(0) = &H80 + (FrV.HZ.Value / 10 - 1) * 2
Form1.MSComm1.Output = Sbyte
End Sub
Public Sub SendB(bSend As Byte) '发送一个字节
ReDim Sbyte(0)
Sbyte(0) = bSend
Form1.MSComm1.Output = Sbyte
Sleep 100
End Sub
Public Sub FrmDisCtr(Frm As Form) '窗体在屏幕中间显示
Frm.Left = (Screen.Width - Frm.Width) / 2
Frm.Top = (Screen.Height - Frm.Height) / 2
End Sub
Public Sub Path(FilePath As String)
If Right(App.Path, 1) = "\" Then '若App.Path为根目录
FullPath = App.Path + FilePath
Else
FullPath = App.Path + "\" + FilePath
End If
End Sub
Public Sub SendW()
Dim TmpStep As Byte
ReDim Sbyte(0)
Sbyte(0) = 0 '发送波形
Form1.MSComm1.Output = Sbyte
Sleep 100
Select Case CmdIndex
Case 1
TmpStep = &H40
Case 2
TmpStep = &H60
Case 3
TmpStep = &H20
End Select
Sbyte(0) = (FrV2.SEG3.Value / 50 - 1) + TmpStep
Form1.MSComm1.Output = Sbyte
End Sub
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -