📄 usb_constant.h
字号:
/*********************************************************************************
filename: USB_CONSTANT.h
designer: 戴展波
date: 2004/11/02
**********************************************************************************/
#ifndef _USB_CONSTANT_
#define _USB_CONSTANT_
//general configuration
#define SX2_IFCONFIG 0x01 //interface configuration
#define SX2_IFCONFIG_SET 0xE8
#define SX2_FLAGSAB 0x02 //fifo flaga and flagb assignments
#define SX2_FLAGSCD 0x03 //fifo flagc and flagd assignments
#define SX2_FLAGB_FF 0x00
#define SX2_FLAGA_PF 0x00
#define SX2_FLAGA_PF2 0x04
#define SX2_FLAGA_PF4 0x05
#define SX2_FLAGA_PF6 0x06
#define SX2_FLAGA_PF8 0x07
#define SX2_FLAGA_EF2 0x08
#define SX2_FLAGA_EF4 0x09
#define SX2_FLAGA_EF6 0x0A
#define SX2_FLAGA_EF8 0x0B
#define SX2_FLAGA_FF2 0x0C
#define SX2_FLAGA_FF4 0x0D
#define SX2_FLAGA_FF6 0x0E
#define SX2_FLAGA_FF8 0x0F
#define SX2_FLAGB_PF2 0x40
#define SX2_FLAGB_PF4 0x50
#define SX2_FLAGB_PF6 0x60
#define SX2_FLAGB_PF8 0x70
#define SX2_FLAGB_EF2 0x80
#define SX2_FLAGB_EF4 0x90
#define SX2_FLAGB_EF6 0xA0
#define SX2_FLAGB_EF8 0xB0
#define SX2_FLAGB_FF2 0xC0
#define SX2_FLAGB_FF4 0xD0
#define SX2_FLAGB_FF6 0xE0
#define SX2_FLAGB_FF8 0xF0
#define SX2_POLAR 0x04 //fifo polarities
#define SX2_POLAR_WUPOL 0x80 //set the polarity of the wakeup pin,high active
#define SX2_POLAR_PKTEND 0x20 //select the polarity of the PKTEND pin,high active
#define SX2_POLAR_SLOE 0x10 //sloe pin polarity,high active
#define SX2_POLAR_SLRD 0x08 //slrd pin polarity,high active
#define SX2_POLAR_SLWR 0x04 //slwe pin polarity,high active
#define SX2_POLAR_EF 0x02 //EF pin(flaga/b/c/d) select polarity,high active
#define SX2_POLAR_FF 0x01 //FF pin(flaga/b/c/d) select polarity,high active
#define SX2_REVID 0x05 //chip revision
//endpoint configuration
#define SX2_EP2CFG 0x06 //endpoint 2 configuration
#define SX2_EP4CFG 0x07 //endpoint 4 configuration
#define SX2_EP6CFG 0x08 //endpoint 6 configuration
#define SX2_EP8CFG 0x09 //endpoint 8 configuration
#define SX2_EP2PKTLENH 0x0A //endpoint 2 packet length h
#define SX2_EP2PKTLENL 0x0B //endpoint 2 packet length l(in only)
#define SX2_EP4PKTLENH 0x0C //endpoint 4 packet length h
#define SX2_EP4PKTLENL 0x0D //endpoint 4 packet length l(in only)
#define SX2_EP6PKTLENH 0x0E //endpoint 6 packet length h
#define SX2_EP6PKTLENL 0x0F //endpoint 6 packet length l(in only)
#define SX2_EP8PKTLENH 0x10 //endpoint 8 packet length h
#define SX2_EP8PKTLENL 0x11 //endpoint 8 packet length l(in only)
#define SX2_WORDWIDE 0x10 //16 bit data wide
#define SX2_EP2PFH 0x12 //EP2 programmable flag h
#define SX2_EP2PFL 0x13 //ep2 programmable flag l
#define SX2_EP4PFH 0x14 //ep4 programmable flag h
#define SX2_EP4PFL 0x15 //ep4 programmable flag l
#define SX2_EP6PFH 0x16 //ep6 programmable flag h
#define SX2_EP6PFL 0x17 //ep6 programmable flag l
#define SX2_EP8PFH 0x18 //ep8 programmable flag h
#define SX2_EP8PFL 0x19 //ep8 programmable flag l
#define SX2_EP2ISOINPKTS 0x1A //EP2 IN packets per frame
#define SX2_EP4ISOINPKTS 0x1B //EP4 IN packets per frame
#define SX2_EP6ISOINPKTS 0x1C //EP6 IN packets per frame
#define SX2_EP8ISOINPKTS 0x1D //EP8 IN packets per frame
//flags
#define SX2_EP24FLAGS 0x1E //endpoints 2,4 fifo flags
#define SX2_EP4PF 0x40
#define SX2_EP4EF 0x20
#define SX2_EP4FF 0x10
#define SX2_EP2PF 0x04
#define SX2_EP2EF 0x02
#define SX2_EP2FF 0x01
#define SX2_EP68FLAGS 0x1F //endpoints 6,8 fifo flags
#define SX2_EP8PF 0x40
#define SX2_EP8EF 0x20
#define SX2_EP8FF 0x10
#define SX2_EP6PF 0x04
#define SX2_EP6EF 0x02
#define SX2_EP6FF 0x01
//inpktend/flush
#define SX2_INPKTEND 0x20 //force packet end
#define SX2_CLEARALL 0xf0 /* Clear All FIFO*/
//usb configuration
#define SX2_USBFRAMEH 0x2a //USB frame count h
#define SX2_USBFRAMEL 0x2b //usb frame count l
#define SX2_MICROFRAME 0x2c //microframe count,0-7
#define SX2_FNADDR 0x2d //usb function address
#define SX2_HSGRANT 0x80 //sx2 enumerated speed
//interrupt
#define SX2_INTENABLE 0x2E //interrupt enable
#define SX2_INT_SETUP 0x80 //SETUP interrupt
#define SX2_INT_EP0BUF 0x40 //EP0BUF interrupt
#define SX2_INT_FLAGS 0x20 //flags interrupt
#define SX2_INT_ENUMOK 0x04 //enumok interrupt
#define SX2_INT_BUSACTIVITY 0x02 //bus activity interrupt
#define SX2_INT_READY 0x01 //ready interrupt
//descriptor
#define SX2_DESC 0x30 //descriptor RAM
//endpoint 0
#define SX2_EP0BUF 0x31 //endpoint 0 buffer
#define SX2_SETUP 0x32 //endpoint 0 set-up data/stall
#define SX2_EP0BC 0x33 //endpoint 0 byte count
#define ENDPOINT2 0
#define ENDPOINT4 1
#define ENDPOINT6 2
#define ENDPOINT8 3
#define FALSE 0
#define TRUE 1
#define usbtimeout 0x400
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -