📄 usb.h
字号:
/************************************************************************
*File : Usb.h *
*By : hugang, hgx2000@mail.china.com *
************************************************************************/
#ifndef __USB_H__
#define __USB_H__
/********************************************************************************************************
*USB设备请求Set_Address地址掩码 wValue *
* *
********************************************************************************************************/
#define EP0_TX_FIFO_SIZE 0x10
#define EP0_RX_FIFO_SIZE 0x10
#define EP0_PACKET_SIZE 0x10
#define EP1_TX_FIFO_SIZE 0x10
#define EP1_RX_FIFO_SIZE 0x10
#define EP1_PACKET_SIZE 0x10
#define EP2_TX_FIFO_SIZE 0x10
#define EP2_RX_FIFO_SIZE 0x10
#define EP2_PACKET_SIZE 0x40
#define NUM_ENDPOINTS 0x04
#define USB_IDLE 0
#define USB_TRANSMIT 1
#define USB_RECEIVE 2
typedef __packed struct _IO_REQUEST {
unsigned short uAddressL;
unsigned char bAddressH;
unsigned short uSize;
unsigned char bCommand;
} IO_REQUEST, *PIO_REQUEST;
typedef __packed struct _device_request
{
unsigned char bmRequestType;
unsigned char bRequest;
unsigned short wValue;
unsigned short wIndex;
unsigned short wLength;
} DEVICE_REQUEST;
#define MAX_CONTROLDATA_SIZE 16
typedef __packed struct _control_xfer
{
DEVICE_REQUEST DeviceRequest;
unsigned short wLength;
unsigned short wCount;
unsigned char *pData;
unsigned char dataBuffer[MAX_CONTROLDATA_SIZE];
} CONTROL_XFER;
void UsbSuspendChange(void);
void UsbStallEp0(void);
void UsbDisconnect(void);
void UsbConnect(void);
void UsbReconnect(void);
void UsbInitUnconfig(void);
void UsbInitConfig(void);
void UsbSingleTransmit(unsigned char* pBuf, unsigned char nLen);
void UsbCodeTransmit(unsigned char * pRomData, unsigned short nLen);
void UsbControlHandler(void);
void UsbClearAllInts(void);
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -