EasyUSB动态库使用指南
D12有3个IN端点,3个OUT端点和一个固定的控制IN/OUT端点;ISP1581有7个IN端点,7个OUT
端点和一个固定的控制IN/OUT端点,在本动态库中,提供了对7个IN端点和7个OUT端点操作的接口函数以及对控制端点操作的接口函数。通过调用以下这些函数,您不必了解复杂的USB协议也可快速完成USB
的应用软件开发。
一,库函数说明
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设备读取数据
*******************************************************/
注:管道0和1属于端点1,管道2和3属于端点2,其余依此类推
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设备写入数据
*******************************************************/
注:管道0和1属于端点1,管道2和3属于端点2,其余依此类推
二,库函数使用举例
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毫秒