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

📄 ch375dll.bas

📁 控制USB通信芯片ch372(VB端的程序)
💻 BAS
📖 第 1 页 / 共 2 页
字号:
' 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 + -