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

📄 usb.h

📁 arm7下的USB驱动.ARM7是LPC2214
💻 H
字号:
#define DISABLE   USB_INTERRUPT_OFF
#define ENABLE   USB_INTERRUPT_ON

#define D12_INT_BUSRESET 			0x0040
#define	D12_INT_EOT					0x0100	
#define	D12_INT_SUSPENDCHANGE		0x0080
#define	D12_INT_ENDP0IN				0x0002
#define	D12_INT_ENDP0OUT			0x0001
#define	D12_INT_ENDP1IN				0x0008
#define	D12_INT_ENDP1OUT			0x0004
#define	D12_INT_ENDP2IN				0x0010
#define	D12_INT_ENDP2OUT			0x0020

//#define SWAP(x) ((((x)&0xFF)<<8)|(((x)>>8)&0xFF))
#define SWAP(x) (x)

#define D12_FULLEMPTY 0x01
#define D12_SETUPPACKET 0x20


#define USB_IDLE 0
#define USB_RECEIVE 1
#define USB_TRANSMIT 2

#define USB_ENDPOINT_DIRECTION_MASK 0x80
#define MAX_CONTROLDATA_SIZE 0x40
//#define EP1_PACKET_SIZE 0x10
#define EP1_PACKET_SIZE 0x40
#define EP0_PACKET_SIZE 0x10
#define USB_REQUEST_TYPE_MASK   0x60
#define USB_REQUEST_MASK 0xFF
#define USB_STANDARD_REQUEST 0x00
#define USB_VENDOR_REQUEST 0x10

#define USB_RECIPIENT 0
#define USB_RECIPIENT_DEVICE 0
#define USB_RECIPIENT_INTERFACE 0
#define USB_RECIPIENT_ENDPOINT 0
#define USB_FEATURE_REMOTE_WAKEUP 0
#define USB_FEATURE_ENDPOINT_STALL 0
#define MAX_ENDPOINTS 4

#define DEVICE_ADDRESS_MASK 0x00FF

#define D12_STALL 0

#define USB_DEVICE_DESCRIPTOR_TYPE 0x01
#define USB_CONFIGURATION_DESCRIPTOR_TYPE 0x02


#define CONFIG_DESCRIPTOR_LENGTH 0x09





#define DMA_PENDING 0
#define DMA_IDLE 0
#define USB_INTERFACE_DESCRIPTOR_TYPE 0
#define NUM_ENDPOINTS 0


struct flags
	{
		unsigned char timer ;
		unsigned char bus_reset ;
		unsigned char suspend ;
		unsigned char setup_packet ;
		unsigned char remote_wakeup;
		unsigned char in_isr ;
		unsigned char control_state ;
		unsigned char configuration;
		unsigned char verbose ;
		unsigned char ep1_rxdone ;
		unsigned char setup_dma ;
		unsigned char dma_state ;
	};

union epp_flags
{
	struct flags bits;
	unsigned short value;
}bEPPflags;

struct device_request
{
	unsigned char bmRequestType;
	unsigned char bRequest;
	unsigned short wValue;
	unsigned short wIndex;
	unsigned short wLength;
}DEVICE_REQUEST;

struct  control_data
{
	struct device_request DeviceRequest;
	unsigned short wLength;
	unsigned short wCount;
	unsigned char *pData;
	unsigned char dataBuffer[MAX_CONTROLDATA_SIZE];
}ControlData;














⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -