📄 usb_function_module.bas
字号:
Attribute VB_Name = "USB_Proc_Module"
'*******************************************************************************************
'USB操作API
'*******************************************************************************************
Option Explicit
'*******************************************************************************************
' ** 函数名称: USB_Init
' ** 输入参数: 无
' ** 输出参数: 连接设备数量
' ** 函数说明: USB初始化
'*******************************************************************************************
Public Function USB_Init() As Byte
Dim DevNumTemp As Byte
DevNumTemp = GetTMCDeviceNum
USB_Init = DevNumTemp
End Function
'*******************************************************************************************
' ** 函数名称: USB_Send
' ** 输入参数:
' ** DevNo -- 指定设备号
' ** InputString -- 传送的命令
' ** 输出参数: 发送是否成功
' ** 函数说明: 向指定设备发送
'*******************************************************************************************
Public Function USB_Send(DevNo As Long, InputString As String) As Boolean
Dim Commond_Buffer(200) As Byte
Dim Commond_Length As Long
Dim i As Long
Commond_Length = Len(InputString)
'转换字符串为字符数组
For i = 0 To Commond_Length - 1
Commond_Buffer(i) = Asc(Mid(InputString, i + 1, 1))
Next i
Call BuildBulkbTag
'USB write Proc
g_bReturn = WriteUSB(DevNo, DEV_DEP_MSG_OUT, bulkOutbTag, Commond_Length, VarPtr(Commond_Buffer(0)))
USB_Send = g_bReturn
End Function
'*******************************************************************************************
' ** 函数名称: USB_Read
' ** 输入参数:
' ** DevNo -- 指定设备号
' ** 输出参数: 返回的字符串
' ** 函数说明: 从指定设备读取返回值
'*******************************************************************************************
Public Function USB_Read(DevNo As Long) As String
Dim stringTemp As String
Dim readsize As Long '返回值字节数
Dim reciveBuf(2000000) As Byte '返回值缓存数组
Dim i As Long
Dim ReadSizeTotal As Long
ReadSizeTotal = 0
readsize = 0
'USB Read Proc
Call BuildBulkbTag
g_bReturn = WriteUSB(DevNo, REQUEST_DEV_DEP_MSG_IN, bulkOutbTag, 0, 0)
g_bReturn = ReadUSB(DevNo, VarPtr(readsize), VarPtr(reciveBuf(ReadSizeTotal)))
ReadSizeTotal = ReadSizeTotal + readsize
stringTemp = ""
'数组 --> 字符串
For i = 0 To ReadSizeTotal
stringTemp = stringTemp & Chr(reciveBuf(i))
Next i
USB_Read = stringTemp
End Function
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -