📄 ch375dll.bas
字号:
' iIndex指定CH375设备序号
'oBuffer指向一个足够大的缓冲区,用于保存描述符
'ioLength指向长度单元,输入时为准备读取的长度,返回后为实际读取的长度
Declare Function CH375GetConfigDescr Lib "CH375DLL.DLL" (ByVal iIndex As Long, ByRef oBuffer As Any, ByRef ioLength As Long) As Boolean
' 读取配置描述符
'iIndex指定CH375设备序号
'oBuffer指向一个足够大的缓冲区,用于保存描述符
'ioLength 指向长度单元,输入时为准备读取的长度,返回后为实际读取的长度
'typedef VOID ( CALLBACK * mPCH375_INT_ROUTINE ) ( // 中断服务回调程序
' PUCHAR iBuffer ); // 指向一个缓冲区,提供当前的中断特征数据
Declare Function CH375SetIntRoutine Lib "CH375DLL.DLL" (ByVal iIndex As Long, ByVal iIntRoutine As Long) As Long
'设定中断服务程序
' iIndex指定CH375设备序号
'iIntRoutine指定中断服务程序,为NULL则取消中断服务,否则在中断时调用该程序
Declare Function CH375ReadInter Lib "CH375DLL.DLL" (ByVal iIndex As Long, ByRef oBuffer As Any, ByRef ioLength As Long) As Boolean
' 读取中断数据
' iIndex指定CH375设备序号
'oBuffer指向一个足够大的缓冲区,用于保存描述符
'ioLength指向长度单元,输入时为准备读取的长度,返回后为实际读取的长度
Declare Function CH375AbortInter Lib "CH375DLL.DLL" (ByVal iIndex As Long) As Boolean
'放弃中断数据读操作
'iIndex 指定CH375设备序号
Declare Function CH375ReadData Lib "CH375DLL.DLL" (ByVal iIndex As Long, ByRef oBuffer As Any, ByRef ioLength As Long) As Boolean '读取数据块
'iIndex指定CH375设备序号,oBuffer指向一个足够大的缓冲区,用于保存描述符,ioLength指向长度单元,输入时为准备读取的长度,返回后为实际读取的长度
Declare Function CH375AbortRead Lib "CH375DLL.DLL" (ByVal iIndex As Long)
'放弃数据块读操作
'iIndex 指定CH375设备序号
Public Declare Function CH375Writedata Lib "CH375DLL.DLL" Alias "CH375WriteData" (ByVal iIndex As Long, ByRef iBuffer As Any, ByRef ioLength As Long) As Boolean '先写出标准的数据块(命令,长度不超过8字节),再读取标准的数据块(应答,长度不超过8字节)
'iIndex指定CH375设备序号,
'oBuffer指向一个足够大的缓冲区,用于保存描述符,
'ioLength指向长度单元,输入时为准备读取的长度,返回后为实际读取的长度
Declare Function CH375AbortWrite Lib "CH375DLL.DLL" (ByVal iIndex As Long)
'放弃数据块写操作
'iIndex 指定CH375设备序号
Declare Function CH375WriteRead Lib "CH375DLL.DLL" (ByVal iIndex As Long, ByRef iBuffer As Any, ByRef oBuffer As Any, ByRef ioLength As Long) As Boolean '写出数据块
'iIndex指定CH375设备序号,iBuffer指向一个缓冲区,放置准备写出的数据,长度不大于mCH375_PACKET_LENGTH,
'oBuffer指向一个足够大的缓冲区,用于保存描述符,
'ioLength指向长度单元,输入时为准备读取的长度,返回后为实际读取的长度
Declare Function CH375GetStatus Lib "CH375DLL.DLL" (ByVal iIndex As Long, ByRef iStatus As Long)
'通过CH375直接输入数据和状态
'iIndex 指定CH375设备序号
'iStatus 指向一个双字单元,用于保存状态数据
'位7-位0对应CH375的D7-D0引脚,位9对应CH375的RXD#引脚,位10对应CH375的REQ#引脚
Declare Function CH375SetTimeout Lib "CH375DLL.DLL" (ByVal iIndex As Long, ByVal iWriteTimeout As Long, ByVal iReadTimeout As Long) As Boolean
'设置USB数据读写的超时
'iIndex 指定CH375设备序号
'iWriteTimeout, ' 指定USB写出数据块的超时时间,以毫秒mS为单位,0xFFFFFFFF指定不超时(默认值)
'iReadTimeout ' 指定USB读取数据块的超时时间,以毫秒mS为单位,0xFFFFFFFF指定不超时(默认值)
Declare Function CH375WriteAuxData Lib "CH375DLL.DLL" (ByVal iIndex As Long, ByRef iBuffer As Any, ByRef ioLength As Long) As Boolean
'写出辅助数据
'iIndex, 指定CH375设备序号
'iBuffer, 指向一个缓冲区,放置准备写出的数据
'ioLength 指向长度单元,输入时为准备写出的长度,返回后为实际写出的长度
Declare Function CH375SetExclusive Lib "CH375DLL.DLL" (ByVal iIndex As Long, ByVal iExclusive As Long) As Boolean
' 设置独占使用当前CH375设备
'iIndex 指定CH375设备序号
'iExclusive 为0则设备可以共享使用,非0则独占使用
Declare Function CH375GetUsbID Lib "CH375DLL.DLL" (ByVal iIndex As Long) As Long
'获取USB设备ID,返回数据中,低16位为厂商ID,高16位为产品ID,错误时返回全0(无效ID)
'iIndex 指定CH375设备序号
Declare Function CH375GetDeviceName Lib "CH375DLL.DLL" (ByVal iIndex As Long) As Long
' 返回指向CH375设备名称的缓冲区,出错则返回NULL
' 指定CH375设备序号,0对应第一个设备
Declare Function CH375SetBufUpload Lib "CH375DLL.DLL" (ByVal iIndex As Long, ByVal iEnableOrClear As Long) As Boolean ' 为0则禁止内部缓冲上传模式,使用直接上传,非0则启用内部缓冲上传模式并清除缓冲区中的已有数据
' 设定内部缓冲上传模式
'iIndex, 指定CH375设备序号,0对应第一个设备
'iEnableOrClear 为0则禁止内部缓冲上传模式,使用直接上传,非0则启用内部缓冲上传模式并清除缓冲区中的已有数据
' 如果启用内部缓冲上传模式,那么CH375驱动程序创建线程自动接收USB上传数据到内部缓冲区,同时清除缓冲区中的已有数据,当应用程序调用CH375ReadData后将立即返回缓冲区中的已有数据
Declare Function CH375QueryBufUpload Lib "CH375DLL.DLL" (ByVal iIndex As Long) As Long ' 指定CH375设备序号,0对应第一个设备
' 查询内部上传缓冲区中的已有数据包个数,成功返回数据包个数,出错返回-1
'iIndex 指定CH375设备序号,0对应第一个设备
Declare Function CH375SetBufDownload Lib "CH375DLL.DLL" (ByVal iIndex As Long, ByVal iEnableOrClear As Long) As Boolean ' 为0则禁止内部缓冲下传模式,使用直接下传,非0则启用内部缓冲下传模式并清除缓冲区中的已有数据
' CH375SetBufDownload 设定内部缓冲下传模式
' iIndex 指定CH375设备序号,0对应第一个设备
' iEnableOrClear 为0则禁止内部缓冲下传模式,使用直接下传,非0则启用内部缓冲下传模式并清除缓冲区中的已有数据
' 如果启用内部缓冲下传模式,那么当应用程序调用CH375WriteData后将仅仅是将USB下传数据放到内部缓冲区并立即返回,而由CH375驱动程序创建的线程自动发送直到完毕
' 如果启用内部缓冲下传模式,那么当应用程序调用CH375WriteData后将仅仅是将USB下传数据放到内部缓冲区并立即返回,而由CH375驱动程序创建的线程自动发送直到完毕
Declare Function CH375QueryBufDownload Lib "CH375DLL.DLL" (ByVal iIndex As Long) As Long
' CH375QueryBufDownload( 查询内部下传缓冲区中的剩余数据包个数(尚未发送),成功返回数据包个数,出错返回-1
' iIndex 指定CH375设备序号,0对应第一个设备
Declare Function CH375ResetInter Lib "CH375DLL.DLL" (ByVal iIndex As Long) As Boolean
' CH375ResetInter 复位中断数据读操作
' iIndex 指定CH375设备序号
Declare Function CH375ResetAux Lib "CH375DLL.DLL" (ByVal iIndex As Long) As Boolean
' CH375ResetAux 复位辅助数据写操作
' iIndex 指定CH375设备序号
Declare Function CH375ResetRead Lib "CH375DLL.DLL" (ByVal iIndex As Long) As Boolean
' CH375ResetRead 复位数据块读操作
' iIndex 指定CH375设备序号
Declare Function CH375ResetWrite Lib "CH375DLL.DLL" (ByVal iIndex As Long) As Boolean
' CH375ResetWrite 复位数据块写操作
' iIndex 指定CH375设备序号
Public Const CH375_DEVICE_ARRIVAL = 3 ' 设备插入事件,已经插入
Public Const CH375_DEVICE_REMOVE_PEND = 1 ' 设备将要拔出
Public Const CH375_DEVICE_REMOVE = 0 ' 设备拔出事件,已经拔出
' typedef VOID ( CALLBACK * mPCH375_NOTIFY_ROUTINE ) ( // 设备事件通知回调程序
' ULONG iEventStatus ); // 设备事件和当前状态(在下行定义): 0=设备拔出事件, 3=设备插入事件
Declare Function CH375SetDeviceNotify Lib "CH375DLL.DLL" (ByVal iIndex As Long, ByVal iDeviceID As String, ByVal iNotifyRoutine As Long) As Boolean
' CH375SetDeviceNotify 设定设备事件通知程序
' iIndex 指定CH375设备序号,0对应第一个设备
' iDeviceID 可选参数,指向字符串,指定被监控的设备的ID,字符串以\0终止
' mPCH375_NOTIFY_ROUTINE iNotifyRoutine 指定设备事件回调程序,为NULL则取消事件通知,否则在检测到事件时调用该程序
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -