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};
WriteData (1,sendbuff,5,1000); //向管道 1 写入 5 个字节的数据,等待超时时间为 1000 毫秒
2.3 对不同管道进行读写操作
WriteData (1,sendbuff,5,1000); //向管道 1 写入 5 个字节的数据,等待超时时间为 1000 毫秒
ReadData (0,recbuff,5,1000); //从管道 0 读取 5 个字节的数据,等待超时时间为 1000 毫秒