EasyUSB 动态库使用指南
(EasyUSB)
D12 有 3 个 IN 端点,3 个 OUT 端点和一个固定的控制 IN/OUT 端点;ISP1581 有 7 个 IN 端点,7 个 OUT
端点和一个固定的控制 IN/OUT 端点。在本动态库中,提供了对7个IN端点和7个OUT端点操作的接口函
数以及对控制端点操作的接口函数。通过调用以下这些函数,您不必了解复杂的 USB 协议也可快速完成 USB
的应用软件开发
。在本动态库对于 D12 和 ISP1581 都适合。
一. 库函数说明
EasyUSB 库一共有 3 个文件,包括 EasyUSB.lib,EasyUSB.dll,EasyUSB.h。动态库是 Microsoft Windows
的接口标准,流行的软件开发工具 VC、VB、VF、Delphi、C++ Builder、Power Builder 等均可使用。
1.1 int __stdcall ReadData(int pipenum,unsigned char *recbuffer,int len,int waittime);
/*******************************************************
入口参数:
pipenum: 所要操作的管道号,可以为 0,2,4,6,8,10,12
recbuffer:接收数据缓冲区
len:接收数据缓冲区长度,必须为实际所要接收的数据长度,最大长度为 1024 个字节
waittime:等待超时时间,为-1 表示一直等待
返回值:读取成功为读取到的字节数,否则为-1
函数功能:从 USB 设备读取数据
*******************************************************/
1.2 int __stdcall WriteData(int pipenum,unsigned char *sendbuffer,int len,int waittime);
/*******************************************************
入口参数:
pipenum: 所要操作的管道号,可以为 1,3,5,7,9,11,13
recbuffer:发送数据缓冲区
len:发送数据缓冲区长度,必须为实际所要发送的数据长度,最大长度为 1024 个字节
waittime:等待超时时间,为-1 表示一直等待
返回值:写入成功为发送的字节数,否则为-1
函数功能:向 USB 设备写入数据
*******************************************************/
二. 库函数使用举例
2.1 对管道进行读操作
unsigned char recbuff[16];
ReadData (0,recbuff,16,1000); //从管道 0 读取 16 个字节的数据,等待超时时间为 1000 毫秒
2.2 对管道进行写操作
unsigned char sendbuff[5]={0,0,0,0,0};