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

📄 usblib.h

📁 D12+51 的USB1.1PC就用程序
💻 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 + -