📄 usb_def.h
字号:
#define NULL 0
#define TRUE 1
#define FALSE 0
/*_____ M A C R O S ________________________________________________________*/
#define CONTROL 0x80
#define BULK_IN 0x86
#define BULK_OUT 0x82
#define INTERRUPT_IN 0x87
#define INTERRUPT_OUT 0x83
#define ISOCHRONOUS_IN 0x85
#define ISOCHRONOUS_OUT 0x81
#define BULK_MAX_SIZE ((Byte)64)
#define GET_DEVICE_DESCRIPTOR 1
#define GET_CONFIGURATION_DESCRIPTOR 4
/*_____ S T A N D A R D R E Q U E S T S __________________________________*/
#define GET_STATUS 0x00
#define GET_DEVICE 0x01
#define CLEAR_FEATURE 0x01 /* see FEATURES below */
#define GET_STRING 0x03
#define SET_FEATURE 0x03 /* see FEATURES below */
#define SET_ADDRESS 0x05
#define GET_DESCRIPTOR 0x06
#define SET_DESCRIPTOR 0x07
#define GET_CONFIGURATION 0x08
#define SET_CONFIGURATION 0x09
#define GET_INTERFACE 0x0A
#define SET_INTERFACE 0x0B
#define SYNC_FRAME 0x0C
#define GET_MAX_LUN 0xFE
#define MASS_STORAGE_RESET 0xFF
/*_____ D E S C R I P T O R T Y P E S ____________________________________*/
#define DEVICE 0x01
#define CONFIGURATION 0x02
#define STRING 0x03
#define INTERFACE 0x04
#define ENDPOINT 0x05
#define LANG_ID 0x00
#define MAN_INDEX 0x01
#define PROD_INDEX 0x02
#define SN_INDEX 0x03
/*_____ S T A N D A R D F E A T U R E S __________________________________*/
#define DEVICE_REMOTE_WAKEUP_FEATURE 0x01
#define ENDPOINT_HALT_FEATURE 0x00
/*_____ D E V I C E S T A T U S ___________________________________________*/
#define SELF_POWERED 1
/*_____ D E V I C E S T A T E _____________________________________________*/
#define ATTACHED 0
#define POWERED 1
#define DEFAULT 2
#define ADDRESSED 3
#define CONFIGURED 4
#define SUSPENDED 5
#define USB_CONFIG_BUSPOWERED 0x80
#define USB_CONFIG_SELFPOWERED 0x40
#define USB_CONFIG_REMOTEWAKEUP 0x20
/*_____ M A S S S T O R A G E E N D P O I N T S _________________________*/
#define EP_CONTROL 0x00
#define EP_IN 0x01
#define EP_OUT 0x02
#define EP_CONTROL_LENGTH 8
#define EP_IN_LENGTH 64
#define EP_OUT_LENGTH 64
/* MCNTRL bits ********************************************************/
#define SRST 0x01 /*software reset */
#define DBG 0x02 /*debug mode */
#define VGE 0x04 /*voltage regulator enable*/
#define NAT 0x08 /*node attached */
#define INT_DIS 0x00 /*interrupts disabled */
#define INT_L_O 0x40 /*act lo ints, open drain */
#define INT_H_P 0x80 /*act hi ints, push pull */
#define INT_L_P 0xC0 /*act lo ints, push pull */
/* FAR bits ********************************************************/
#define AD_EN 0x80 /*address enable */
/* EPCX bits ********************************************************/
#define DEF 0x40 /*force def. adr (0 only) */
#define STALL 0x80 /*force stall handshakes */
#define NOSTALL 0x00 /*force stall handshakes */
#define ISO 0x20 /*set for isochr. (1-3) */
#define EP_EN 0x10 /*enables endpt. (1-3) */
/* NFSR bits ********************************************************/
#define RST_ST 0x00 /*reset state */
#define RSM_ST 0x01 /*resume state */
#define OPR_ST 0x02 /*operational state */
#define SUS_ST 0x03 /*suspend state */
/* MAEV, MAMSK bits ***************************************************/
#define WARN 0x01 /*warning bit has been set*/
#define ALT 0x02 /*alternate event */
#define TX_EV 0x04 /*transmit event */
#define FRAME 0x08 /*SOF packet received */
#define NAK 0x10 /*NAK event */
#define ULD 0x20 /*unlock locked detected */
#define RX_EV 0x40 /*receive event */
#define INTR_E 0x80 /*master interrupt enable */
/* ALTEV, ALTMSK bits *************************************************/
#define EOP 0x08 /*end of packet */
#define SD3 0x10 /*3 ms suspend */
#define SD5 0x20 /*5 ms suspend */
#define RESET_A 0x40 /*reset detected */
#define RESUME_A 0x80 /*resume detected */
/* TXEV, TXMSK bits ***************************************************/
#define TXFIFO0 0x01 /*TX_DONE, FIFO 0 */
#define TXFIFO1 0x02 /*TX_DONE, FIFO 1 */
#define TXFIFO2 0x04 /*TX_DONE, FIFO 2 */
#define TXFIFO3 0x08 /*TX_DONE, FIFO 3 */
#define TXUDRN0 0x10 /*TX_URUN, FIFO 0 */
#define TXUDRN1 0x20 /*TX_URUN, FIFO 1 */
#define TXUDRN2 0x40 /*TX_URUN, FIFO 2 */
#define TXUDRN3 0x80 /*TX_URUN, FIFO 3 */
/* RXEV, RXMSK bits ***************************************************/
#define RXFIFO0 0x01 /*RX_DONE, FIFO 0 */
#define RXFIFO1 0x02 /*RX_DONE, FIFO 1 */
#define RXFIFO2 0x04 /*RX_DONE, FIFO 2 */
#define RXFIFO3 0x08 /*RX_DONE, FIFO 3 */
#define RXOVRN0 0x10 /*RX_OVRN, FIFO 0 */
#define RXOVRN1 0x20 /*RX_OVRN, FIFO 1 */
#define RXOVRN2 0x40 /*RX_OVRN, FIFO 2 */
#define RXOVRN3 0x80 /*RX_OVRN, FIFO 3 */
/* NAKEV, NAKMSK bits *************************************************/
#define NAK_I0 0x01 /*IN NAK, FIFO 0 */
#define NAK_I1 0x02 /*IN NAK, FIFO 1 */
#define NAK_I2 0x04 /*IN NAK, FIFO 2 */
#define NAK_I3 0x08 /*IN NAK, FIFO 3 */
#define NAK_O0 0x10 /*OUT NAK, FIFO 0 */
#define NAK_O1 0x20 /*OUT NAK, FIFO 1 */
#define NAK_O2 0x40 /*OUT NAK, FIFO 2 */
#define NAK_O3 0x80 /*OUT NAK, FIFO 3 */
/* TXCx bits ********************************************************/
#define TX_EN 0x01 /*transmit enable */
#define TX_LAST 0x02 /*last data in FIFO */
#define TX_TOGL 0x04 /*specifies PID used */
#define FLUSH 0x08 /*flushes all FIFO data */
#define REF 0x10 /*ignore in tokens */
/* TXS0 bits ********************************************************/
#define TX_DONE 0x20 /*transmit done */
#define ACK_STAT 0x40 /*ack status of xmission */
/* RXC0 bits ********************************************************/
#define RX_EN 0x01 /*receive enable */
#define IGN_OUT 0x02 /*ignore out tokens */
#define IGN_SETUP 0x04 /*ignore setup tokens */
/* RXS0 bits ********************************************************/
#define RX_LAST 0x10 /*indicates RCOUNT valid */
#define RX_TOGL 0x20 /*last pkt was DATA1 PID */
#define SETUP_R 0x40 /*setup packet received */
#define RX_ERR 0x80 /*last packet had an error*/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -