📄 usblib.h
字号:
/*
* 版本号:V1.0
* 说明:适用基于D12芯片的PC应用程序
* 全局资源:四个缓冲区,接收和发送数据
*
*
* 作者:林建军
* 2007年3月2日
* 深圳市菲特数据技术有限公司
*/
/*
* 文件名:USB应用程序库函数
* 按以下顺序操作端口
* 1.给参数赋初始
* 2.启动线程
* 3.读写端口
* 4.关闭线程
*/
#ifndef USBLIB_H
#define USBLIB_H
#define PIPE1_BUF 0x80
#define PIPE2_BUF 0x10000
typedef struct UsbDATA
{
UINT Length; //要操作的字节数
//要读的字节数必须为缓冲区大小的整数倍
ULONG Count; //已操作的字节数
//设备发送的字节数小于缓冲区最大值时,系统默认一帧结束
BYTE *Buf; //缓冲区
char Pipe_name[20]; //管道名称
BOOL bFlag; //完成标志
} USBin,USBout;
struct CThreadParam {
HANDLE hEvent;
HANDLE hThread;
BOOLEAN bInThread;
BOOLEAN bStart;
BOOLEAN bEnd;
// UsbDATA *usb;
};
//USB对外接口函数及参数
void USB_start();
void USB_end();
BOOL USBcommand(); //利用端点1发送命令
BOOL ENDp_Reset(void * endpoint); //复位对应端点
//四个读写端点的子函数
BOOL USBwriteENDp1(UINT len);
BOOL USBwriteENDp2(UINT len);
UINT USBreadENDp1(UINT len);
UINT USBreadENDp2(UINT len);
//四个缓冲区,接收和发送数据
extern BYTE USB_Readp1Buf[PIPE1_BUF];
extern BYTE USB_Readp2Buf[PIPE2_BUF];
extern BYTE USB_Writep1Buf[PIPE1_BUF];
extern BYTE USB_Writep2Buf[PIPE2_BUF];
//四个端点描述数据
extern UsbDATA g_Endp1read;
extern UsbDATA g_Endp1write;
extern UsbDATA g_Endp2read;
extern UsbDATA g_Endp2write;
//USB打开状态标志
extern BOOL g_bUSBon;
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -