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

📄 usbioxdll.bas

📁 USB2SPI开发包
💻 BAS
📖 第 1 页 / 共 3 页
字号:
'   操作状态代码是由WINDOWS定义的代码,可以参考NTSTATUS.H,
'   后续数据的长度是指读操作返回的数据长度,数据存放在随后的缓冲区中,对于写操作一般为0

Declare Function USBIO_GetDrvVersion Lib "USBIOX.DLL" () As Long

' 获得驱动程序版本号,返回版本号,出错则返回0

Declare Function USBIO_ResetDevice Lib "USBIOX.DLL" (ByVal iIndex As Long) As Boolean

'复位USB设备
' iIndex  指定USB2ISP设备序号

Declare Function USBIO_GetDeviceDescr Lib "USBIOX.DLL" (ByVal iIndex As Long, ByRef oBuffer As Any, ByRef ioLength As Long) As Boolean
' 读取设备描述符
' iIndex,   指定USB2ISP设备序号
' oBuffer   指向一个足够大的缓冲区,用于保存描述符
' ioLength   指向长度单元,输入时为准备读取的长度,返回后为实际读取的长度

Declare Function USBIO_GetConfigDescr Lib "USBIOX.DLL" (ByVal iIndex As Long, ByRef oBuffer As Any, ByRef ioLength As Long) As Boolean
' 读取配置描述符
'  iIndex,    指定USB2ISP设备序号
'  oBuffer,   指向一个足够大的缓冲区,用于保存描述符
'  ioLength   指向长度单元,输入时为准备读取的长度,返回后为实际读取的长度

Declare Function USBIO_SetIntRoutine Lib "USBIOX.DLL" (ByVal iIndex As Long, ByVal iIntRoutine As Long) As Boolean
'设定中断服务程序
' 指定USB2ISP设备序号
'指定中断服务程序,为NULL则取消中断服务,否则在中断时调用该程序


Declare Function USBIO_ReadInter Lib "USBIOX.DLL" (ByVal iIndex As Long, ByRef iStatus As Long) As Boolean
' 读取中断数据
' iIndex,  指定USB2ISP设备序号
' iStatus   指向一个双字单元,用于保存读取的中断状态数据,见下行
' 位7-位0对应USB2ISP的D7-D0引脚
'  位8对应USB2ISP的ERR#引脚, 位9对应USB2ISP的PEMP引脚, 位10对应USB2ISP的INT#引脚, 位11对应USB2ISP的SLCT引脚

Declare Function USBIO_AbortInter Lib "USBIOX.DLL" (ByVal iIndex As Long) As Boolean
' 放弃中断数据读操作
' iIndex   指定USB2ISP设备序号

Declare Function USBIO_ReadData0 Lib "USBIOX.DLL" (ByVal iIndex As Long, ByRef oBuffer As Any, ByRef ioLength As Long) As Boolean
' 从0#端口读取数据块
 ' iIndex     指定USB2ISP设备序号
 ' oBuffer   指向一个足够大的缓冲区,用于保存读取的数据
 ' ioLength   指向长度单元,输入时为准备读取的长度,返回后为实际读取的长度

Declare Function USBIO_ReadData1 Lib "USBIOX.DLL" (ByVal iIndex As Long, ByRef oBuffer As Any, ByRef ioLength As Long) As Boolean
' 从1#端口读取数据块
' iIndex,  指定USB2ISP设备序号
' oBuffer 指向一个足够大的缓冲区,用于保存读取的数据
' ioLength   指向长度单元,输入时为准备读取的长度,返回后为实际读取的长度

Declare Function USBIO_AbortRead Lib "USBIOX.DLL" (ByVal iIndex As Long) As Boolean
' 放弃数据块读操作
' iIndex    指定USB2ISP设备序号

Declare Function USBIO_WriteData0 Lib "USBIOX.DLL" (ByVal iIndex As Long, ByRef iBuffer As Any, ByRef ioLength As Long) As Boolean
' 向0#端口写出数据块
' iIndex,    指定USB2ISP设备序号
' iBuffer     指向一个缓冲区,放置准备写出的数据
' ioLength  指向长度单元,输入时为准备写出的长度,返回后为实际写出的长度

Declare Function USBIO_WriteData1 Lib "USBIOX.DLL" (ByVal iIndex As Long, ByRef iBuffer As Any, ByRef ioLength As Long) As Boolean
' 向1#端口写出数据块
' iIndex,    指定USB2ISP设备序号
' iBuffer,    指向一个缓冲区,放置准备写出的数据
' ioLength   指向长度单元,输入时为准备写出的长度,返回后为实际写出的长度

Declare Function USBIO_AbortWrite Lib "USBIOX.DLL" (ByVal iIndex As Long) As Boolean
' 放弃数据块写操作
' iIndex   指定USB2ISP设备序号

Declare Function USBIO_GetStatus Lib "USBIOX.DLL" (ByVal iIndex As Long, ByRef iStatus As Long) As Boolean
'  通过USB2ISP直接输入数据和状态
'  iIndex,   指定USB2ISP设备序号
'  iStatus  指向一个双字单元,用于保存状态数据,见下行
'  位7-位0对应USB2ISP的D7-D0引脚
'  位8对应USB2ISP的ERR#引脚, 位9对应USB2ISP的PEMP引脚, 位10对应USB2ISP的INT#引脚, 位11对应USB2ISP的SLCT引脚, 位23对应USB2ISP的SDA引脚
'  位13对应USB2ISP的BUSY/WAIT#引脚, 位14对应USB2ISP的AUTOFD#/DATAS#引脚,位15对应USB2ISP的SLCTIN#/ADDRS#引脚

Declare Function USBIO_ReadI2C Lib "USBIOX.DLL" (ByVal iIndex As Long, ByVal iDevice As Byte, ByVal iAddr As Byte, ByRef oByte As Byte) As Boolean

'  从I2C接口读取一个字节数据
'  iIndex,   指定USB2ISP设备序号
'  iDevice,    低7位指定I2C设备地址
'  iAddr,    指定数据单元的地址
'  oByte    指向一个字节单元,用于保存读取的字节数据

Declare Function USBIO_WriteI2C Lib "USBIOX.DLL" (ByVal iIndex As Long, ByVal iDevice As Byte, ByVal iAddr As Byte, ByVal iByte As Byte) As Boolean

'    向I2C接口写入一个字节数据
'    iIndex,   指定USB2ISP设备序号
'    iDevice,   低7位指定I2C设备地址
'    iAddr,  指定数据单元的地址
'    iByte  待写入的字节数据

Declare Function USBIO_EppReadData Lib "USBIOX.DLL" (ByVal iIndex As Long, ByRef oBuffer As Any, ByRef ioLength As Long) As Boolean
'  EPP方式读数据: WR#=1, DS#=0, AS#=1, D0-D7=input
'  iIndex,    指定USB2ISP设备序号
'  oBuffer,    指向一个足够大的缓冲区,用于保存读取的数据
'  ioLength    指向长度单元,输入时为准备读取的长度,返回后为实际读取的长度

Declare Function USBIO_EppReadAddr Lib "USBIOX.DLL" (ByVal iIndex As Long, ByRef oBuffer As Any, ByRef ioLength As Long) As Boolean
'  EPP方式读地址: WR#=1, DS#=1, AS#=0, D0-D7=input
'  iIndex,    指定USB2ISP设备序号
'  oBuffer,    指向一个足够大的缓冲区,用于保存读取的地址数据
'  ioLength   指向长度单元,输入时为准备读取的长度,返回后为实际读取的长度

Declare Function USBIO_EppWriteData Lib "USBIOX.DLL" (ByVal iIndex As Long, ByRef iBuffer As Any, ByRef ioLength As Long) As Boolean
'   EPP方式写数据: WR#=0, DS#=0, AS#=1, D0-D7=output
'   iIndex,     指定USB2ISP设备序号
'   iBuffer,    指向一个缓冲区,放置准备写出的数据
'   ioLength     指向长度单元,输入时为准备写出的长度,返回后为实际写出的长度

Declare Function USBIO_EppWriteAddr Lib "USBIOX.DLL" (ByVal iIndex As Long, ByRef iBuffer As Any, ByRef ioLength As Long) As Boolean
'   EPP方式写地址: WR#=0, DS#=1, AS#=0, D0-D7=output
'   iIndex,    指定USB2ISP设备序号
'   iBuffer,    指向一个缓冲区,放置准备写出的地址数据
'   ioLength   指向长度单元,输入时为准备写出的长度,返回后为实际写出的长度

Declare Function USBIO_MemReadAddr0 Lib "USBIOX.DLL" (ByVal iIndex As Long, ByRef oBuffer As Any, ByRef ioLength As Long) As Boolean
' MEM方式读地址0: WR#=1, DS#/RD#=0, AS#/ADDR=0, D0-D7=input
' iIndex,    指定USB2ISP设备序号
' oBuffer,     指向一个足够大的缓冲区,用于保存从地址0读取的数据
' ioLength   指向长度单元,输入时为准备读取的长度,返回后为实际读取的长度

Declare Function USBIO_MemReadAddr1 Lib "USBIOX.DLL" (ByVal iIndex As Long, ByRef oBuffer As Any, ByRef ioLength As Long) As Boolean
' MEM方式读地址1: WR#=1, DS#/RD#=0, AS#/ADDR=1, D0-D7=input
' iIndex,    指定USB2ISP设备序号
' oBuffer,    指向一个足够大的缓冲区,用于保存从地址1读取的数据
' ioLength    指向长度单元,输入时为准备读取的长度,返回后为实际读取的长度

Declare Function USBIO_MemWriteAddr0 Lib "USBIOX.DLL" (ByVal iIndex As Long, ByRef iBuffer As Any, ByRef ioLength As Long) As Boolean
' MEM方式写地址0: WR#=0, DS#/RD#=1, AS#/ADDR=0, D0-D7=output
' iIndex,    指定USB2ISP设备序号
' iBuffer,    指向一个缓冲区,放置准备向地址0写出的数据
' ioLength    指向长度单元,输入时为准备写出的长度,返回后为实际写出的长度

Declare Function USBIO_MemWriteAddr1 Lib "USBIOX.DLL" (ByVal iIndex As Long, ByRef iBuffer As Any, ByRef ioLength As Long) As Boolean
'  MEM方式写地址1: WR#=0, DS#/RD#=1, AS#/ADDR=1, D0-D7=output
'  iIndex,   指定USB2ISP设备序号
'  iBuffer,    指向一个缓冲区,放置准备向地址1写出的数据
'  ioLength      指向长度单元,输入时为准备写出的长度,返回后为实际写出的长度

Declare Function USBIO_SetExclusive Lib "USBIOX.DLL" (ByVal iIndex As Long, ByVal iExclusive As Long) As Boolean
' 设置独占使用当前USB2ISP设备
' iIndex,    指定USB2ISP设备序号
' iExclusive  为0则设备可以共享使用,非0则独占使用

Declare Function USBIO_SetTimeout Lib "USBIOX.DLL" (ByVal iIndex As Long, ByVal iWriteTimeout As Long, ByVal iReadTimeout As Long) As Boolean
'  设置USB数据读写的超时
'  iIndex,  // 指定USB2ISP设备序号
'  iWriteTimeout  指定USB写出数据块的超时时间,以毫秒mS为单位,0xFFFFFFFF指定不超时(默认值)
'  iReadTimeout  指定USB读取数据块的超时时间,以毫秒mS为单位,0xFFFFFFFF指定不超时(默认值)

Declare Function USBIO_ReadData Lib "USBIOX.DLL" (ByVal iIndex As Long, ByRef oBuffer As Any, ByRef ioLength As Long) As Boolean
' 读取数据块
' iIndex,    指定USB2ISP设备序号
' oBuffer,    指向一个足够大的缓冲区,用于保存读取的数据
' ioLength      指向长度单元,输入时为准备读取的长度,返回后为实际读取的长度

Declare Function USBIO_WriteData Lib "USBIOX.DLL" (ByVal iIndex As Long, ByRef iBuffer As Any, ByRef ioLength As Long) As Boolean
'  写出数据块
'  iIndex,    指定USB2ISP设备序号
'  iBuffer,    指向一个缓冲区,放置准备写出的数据
'  ioLength   指向长度单元,输入时为准备写出的长度,返回后为实际写出的长度

Declare Function USBIO_GetDeviceName Lib "USBIOX.DLL" (ByVal iIndex As Long) As Long           ''''

⌨️ 快捷键说明

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