⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mainform.frm

📁 vb与USB通信的通用编程示例 基于vb的主机编程示例实现对usb的数据传输
💻 FRM
字号:
VERSION 5.00
Begin VB.Form MainForm 
   Caption         =   "Rigol_Demo_Common_TMC_V0.1"
   ClientHeight    =   6210
   ClientLeft      =   60
   ClientTop       =   450
   ClientWidth     =   8910
   Icon            =   "MainForm.frx":0000
   LinkTopic       =   "Form1"
   ScaleHeight     =   6210
   ScaleWidth      =   8910
   StartUpPosition =   2  'CenterScreen
   Begin VB.CommandButton ReadButton 
      Caption         =   "Read"
      Height          =   735
      Left            =   7215
      TabIndex        =   5
      ToolTipText     =   "读取返回值"
      Top             =   3195
      Width           =   1215
   End
   Begin VB.CommandButton SendButton 
      Caption         =   "Send"
      Height          =   315
      Left            =   7215
      TabIndex        =   4
      ToolTipText     =   "发出命令"
      Top             =   1845
      Width           =   1200
   End
   Begin VB.CommandButton DevListRefreshButton 
      Caption         =   "Refresh"
      Height          =   360
      Left            =   7215
      TabIndex        =   3
      ToolTipText     =   "刷新列表"
      Top             =   900
      Width           =   1215
   End
   Begin VB.ComboBox WriteCombo 
      Height          =   315
      Left            =   630
      TabIndex        =   1
      ToolTipText     =   "输入机器命令"
      Top             =   1845
      Width           =   6285
   End
   Begin VB.TextBox Read_Text 
      Height          =   3285
      Left            =   585
      MultiLine       =   -1  'True
      ScrollBars      =   2  'Vertical
      TabIndex        =   2
      ToolTipText     =   "返回值显示框"
      Top             =   2355
      Width           =   6330
   End
   Begin VB.ListBox DevList 
      Height          =   1035
      Left            =   630
      TabIndex        =   0
      ToolTipText     =   "设备列表"
      Top             =   330
      Width           =   6300
   End
End
Attribute VB_Name = "MainForm"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Dim SendCommondString  As String       '当前发送命令缓存

Private Sub DevList_DblClick()
    If (g_lngTotalDev <> 0) Then
        g_lngCurrentDev = DevList.ListIndex
    End If
End Sub

'刷新连接的设备列表
Private Sub DevListRefreshButton_Click()
    Call DevListRefreshProc
End Sub

Private Sub Form_Load()
    '控件初始化
    DevList.ToolTipText = "设备列表"
    WriteCombo.ToolTipText = "机器指令输入框"
    Read_Text.ToolTipText = "返回值显示框"
    DevListRefreshButton.ToolTipText = "设备刷新"
    SendButton.ToolTipText = "发送命令"
    ReadButton.ToolTipText = "读取返回值"
    
    '初始化命令列表
    WriteCombo.AddItem "*IDN?"
    
   
    SendCommondString = "****"
    
    'USB & 设备列表初始化
    Call DevListRefreshProc
        
End Sub

'刷新设备列表实际操作
Public Function DevListRefreshProc()
    Dim stringTemp As String
    Dim i As Long
    
    'USB Init
    g_lngTotalDev = USB_Init
    
    '根据连接的设备数量进行操作,如果为0则无设备连接,否则循环得到各个设备的信息
    If (g_lngTotalDev = 0) Then
        DevList.Clear
        DevList.AddItem "No Device"
                
        g_lngCurrentDev = 0
        g_bConnectFlag = False
    Else
        DevList.Clear
        
        For i = 0 To g_lngTotalDev - 1
            g_bReturn = USB_Send(i, "*IDN?")
            stringTemp = USB_Read(i)
            DevList.AddItem stringTemp
        Next i
        
        g_lngCurrentDev = 0
        g_bConnectFlag = True
    End If
End Function

'发送命令操作
Private Sub SendButton_Click()
    Dim bTemp As Boolean
    
    '判断是否有机器连接
    If (g_bConnectFlag = False) Then
        MsgBox "Connect Device Fist!", vbOKOnly
    Else
        '发送的命令为WriteCombo中显示的字符串(Trim函数去掉字符串前后的空格)
        SendCommondString = Trim(WriteCombo.Text)
        
        g_bReturn = USB_Send(g_lngCurrentDev, Trim(WriteCombo.Text))
        
        
        '添加发送的命令到历史记录
        bTemp = True
        For i = 0 To WriteCombo.ListCount - 1
            If (Trim(WriteCombo.Text) = WriteCombo.List(i)) Then
                bTemp = False
            End If
        Next i
        
        If (bTemp = True) Then
            WriteCombo.AddItem Trim(WriteCombo.Text)
            If (WriteCombo.ListCount > 9) Then
                WriteCombo.RemoveItem 0
            End If
        End If
    End If
End Sub


'读取返回值操作(注意:在非查询命令后不可读取数据)
Private Sub ReadButton_Click()
    Dim stringTemp As String
    
    '判断是否有机器连接
    If (g_bConnectFlag = False) Then
        MsgBox "Connect Device Fist!", vbOKOnly
    Else
        '判断之前发送的命令是否为查询命令,否则不可读取,依据发出命令中是否包含“?”
        If (InStr(SendCommondString, "?") = 0) Then
            MsgBox "No return!"
            Exit Sub
        End If
        stringTemp = USB_Read(g_lngCurrentDev)
        Read_Text = stringTemp
        
        SendCommondString = "****"
    End If
End Sub


⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -