📄 tusb2136.h
字号:
#define HUBCNFG_P1E 0x01 // Hub Port 1 enable/disable control bit
// 0: disable, 1:enable
#define HUBCNFG_P1A 0x02 // Hub Port 1 connection bit
// 0: removable, 1:fixed
#define HUBCNFG_P2E 0x04 // Hub Port 1 enable/disable control bit
// 0: disable, 1:enable
#define HUBCNFG_P2A 0x08 // Hub Port 1 connection bit
// 0: removable, 1:fixed
#define HUBCNFG_P3_MASK 0x30 // Hub Port 3 setting bits
// 00b: Port 3 disable
// 01b: Port 3 enable and fixed
// 10b: Port 3 enable but removable and not-attached
// 11b: Port 3 enable but removable and attached
#define HUBCNFG_P3_FIXED 0x10 // 01b
#define HUBCNFG_P3_MOV_DIS 0x20 // 10b
#define HUBCNFG_P3_MOV_ENA 0x30 // 11b
#define HUBCNFG_IG 0x40 // Hub Power control bit
// 0: individual, 1:ganged
#define HUBCNFG_OCP 0x80 // Overcurrent protection control bit
// 0: not available, 1:available
#define HUBPOTG_100MS 0x32 // power-on to power-good time is 100ms ( in 2ms increment)
#define HUBCURT_100MA 0x64 // hub requires 100mA
#define VECINT_NO_INTERRUPT 0x00
#define VECINT_OUTPUT_ENDPOINT1 0x12
#define VECINT_OUTPUT_ENDPOINT2 0x14
#define VECINT_OUTPUT_ENDPOINT3 0x16
#define VECINT_INPUT_ENDPOINT1 0x22
#define VECINT_INPUT_ENDPOINT2 0x24
#define VECINT_INPUT_ENDPOINT3 0x26
#define VECINT_STPOW_PACKET_RECEIVED 0x30 // USBSTA
#define VECINT_SETUP_PACKET_RECEIVED 0x32 // USBSTA
#define VECINT_POWER_ON 0x34
#define VECINT_POWER_OFF 0x36
#define VECINT_RESR_INTERRUPT 0x38 // USBSTA
#define VECINT_SUSR_INTERRUPT 0x3A // USBSTA
#define VECINT_RSTR_INTERRUPT 0x3C // USBSTA
#define VECINT_I2C_RXF_INTERRUPT 0x40 // I2CSTA
#define VECINT_I2C_TXE_INTERRUPT 0x42 // I2CSTA
#define VECINT_INPUT_ENDPOINT0 0x44
#define VECINT_OUTPUT_ENDPOINT0 0x46
//I2C Registers
#define I2CSTA_SWR 0x01 // Stop Write Enable
// 0:disable, 1:enable
#define I2CSTA_SRD 0x02 // Stop Read Enable
// 0:disable, 1:enable
#define I2CSTA_TIE 0x04 // I2C Transmitter Empty Interrupt Enable
// 0:disable, 1:enable
#define I2CSTA_TXE 0x08 // I2C Transmitter Empty
// 0:full, 1:empty
#define I2CSTA_400K 0x10 // I2C Speed Select
// 0:100kHz, 1:400kHz
#define I2CSTA_ERR 0x20 // Bus Error Condition
// 0:no bus error, 1:bus error
#define I2CSTA_RIE 0x40 // I2C Receiver Ready Interrupt Enable
// 0:disable, 1:enable
#define I2CSTA_RXF 0x80 // I2C Receiver Full
// 0:empty, 1:full
#define I2CADR_READ 0x01 // Read Write Command Bit
// 0:write, 1:read
//-----------------------------------------------------------------------------------------------
// register address definition
//-----------------------------------------------------------------------------------------------
// EndPoint Desciptor Block
// USB Data Buffer
#define bOEP0_BUFFER_ADDRESS (* (char xdata *)0xFEF0) // Output Endpoint 0 Buffer Base-address
#define bIEP0_BUFFER_ADDRESS (* (char xdata *)0xFEF8) // Input Endpoint 0 Buffer Base-address
#define bEP0_SETUP_ADDRESS (* (char xdata *)0xFF00) // setup packet
#define pbOEP0_BUFFER_ADDRESS ( (char xdata *)0xFEF0) // Output Endpoint 0 Buffer Base-address
#define pbIEP0_BUFFER_ADDRESS ( (char xdata *)0xFEF8) // Input Endpoint 0 Buffer Base-address
#define pbEP0_SETUP_ADDRESS ( (char xdata *)0xFF00) // setup packet
// Endpoint descriptor block
#define bOEPCNF_1 (* (char xdata *)0xFF08) // Output Endpoint 1 Configuration
#define bOEPCNF_2 (* (char xdata *)0xFF10) // Output Endpoint 2 Configuration
#define bOEPCNF_3 (* (char xdata *)0xFF18) // Output Endpoint 3 Configuration
#define bOEPBBAX_1 (* (char xdata *)0xFF09) // Output Endpoint 1 X-Buffer Base-address
#define bOEPBBAX_2 (* (char xdata *)0xFF11) // Output Endpoint 2 X-Buffer Base-address
#define bOEPBBAX_3 (* (char xdata *)0xFF19) // Output Endpoint 3 X-Buffer Base-address
#define bOEPDCTX_1 (* (char xdata *)0xFF0A) // Output Endpoint 1 X Byte Count
#define bOEPDCTX_2 (* (char xdata *)0xFF12) // Output Endpoint 2 X Byte Count
#define bOEPDCTX_3 (* (char xdata *)0xFF1A) // Output Endpoint 3 X Byte Count
#define bOEPBBAY_1 (* (char xdata *)0xFF0D) // Output Endpoint 1 Y-Buffer Base-address
#define bOEPBBAY_2 (* (char xdata *)0xFF15) // Output Endpoint 2 Y-Buffer Base-address
#define bOEPBBAY_3 (* (char xdata *)0xFF1D) // Output Endpoint 3 Y-Buffer Base-address
#define bOEPDCTY_1 (* (char xdata *)0xFF0E) // Output Endpoint 1 Y Byte Count
#define bOEPDCTY_2 (* (char xdata *)0xFF16) // Output Endpoint 2 Y Byte Count
#define bOEPDCTY_3 (* (char xdata *)0xFF1E) // Output Endpoint 3 Y Byte Count
#define bOEPSIZXY_1 (* (char xdata *)0xFF0F) // Output Endpoint 1 XY-Buffer Size
#define bOEPSIZXY_2 (* (char xdata *)0xFF17) // Output Endpoint 2 XY-Buffer Size
#define bOEPSIZXY_3 (* (char xdata *)0xFF1F) // Output Endpoint 3 XY-Buffer Size
#define bIEPCNF_1 (* (char xdata *)0xFF48) // Input Endpoint 1 Configuration
#define bIEPCNF_2 (* (char xdata *)0xFF50) // Input Endpoint 2 Configuration
#define bIEPCNF_3 (* (char xdata *)0xFF58) // Input Endpoint 3 Configuration
#define bIEPBBAX_1 (* (char xdata *)0xFF49) // Input Endpoint 1 X-Buffer Base-address
#define bIEPBBAX_2 (* (char xdata *)0xFF51) // Input Endpoint 2 X-Buffer Base-address
#define bIEPBBAX_3 (* (char xdata *)0xFF59) // Input Endpoint 3 X-Buffer Base-address
#define bIEPDCTX_1 (* (char xdata *)0xFF4A) // Input Endpoint 1 X Byte Count
#define bIEPDCTX_2 (* (char xdata *)0xFF52) // Input Endpoint 2 X Byte Count
#define bIEPDCTX_3 (* (char xdata *)0xFF5A) // Input Endpoint 3 X Byte Count
#define bIEPBBAY_1 (* (char xdata *)0xFF4D) // Input Endpoint 1 Y-Buffer Base-address
#define bIEPBBAY_2 (* (char xdata *)0xFF55) // Input Endpoint 2 Y-Buffer Base-address
#define bIEPBBAY_3 (* (char xdata *)0xFF5D) // Input Endpoint 3 Y-Buffer Base-address
#define bIEPDCTY_1 (* (char xdata *)0xFF4E) // Input Endpoint 1 Y Byte Count
#define bIEPDCTY_2 (* (char xdata *)0xFF56) // Input Endpoint 2 Y Byte Count
#define bIEPDCTY_3 (* (char xdata *)0xFF5E) // Input Endpoint 3 Y Byte Count
#define bIEPSIZXY_1 (* (char xdata *)0xFF4F) // Input Endpoint 1 XY-Buffer Size
#define bIEPSIZXY_2 (* (char xdata *)0xFF57) // Input Endpoint 2 XY-Buffer Size
#define bIEPSIZXY_3 (* (char xdata *)0xFF5F) // Input Endpoint 3 XY-Buffer Size
// Endpoint 0 Descriptor Registers
#define bIEPCNFG_0 (* (char xdata *)0xFF80) // Input Endpoint Configuration Register
#define bIEPBCNT_0 (* (char xdata *)0xFF81) // Input Endpoint 0 Byte Count
#define bOEPCNFG_0 (* (char xdata *)0xFF82) // Output Endpoint Configuration Register
#define bOEPBCNT_0 (* (char xdata *)0xFF83) // Output Endpoint 0 Byte Count
// Miscellaneous Registers
#define bMCNFG (* (char xdata *)0xFF90) // MCU Configuration Register
#define bVECINT (* (char xdata *)0xFF92) // Vector Interrupt Register
#define bWDCSR (* (char xdata *)0xFF93) // Watchdog Timer, Control & Status Register
#define bPUR3 (* (char xdata *)0xFF97) // Pull-up control register 1=Enabled 0=Disabled
#define bPUR2 (* (char xdata *)0xFF96) // Pull-up control register 1=Enabled 0=Disabled
#define bPUR1 (* (char xdata *)0xFF95) // Pull-up control register 1=Enabled 0=Disabled
#define bPUR0 (* (char xdata *)0xFF94) // Pull-up control register 1=Enabled 0=Disabled
// I2C Registers
#define bI2CSTA (* (char xdata *)0xFFF0) // I2C Status and Control Register
#define bI2CDAO (* (char xdata *)0xFFF1) // I2C Data Out Register
#define bI2CDAI (* (char xdata *)0xFFF2) // I2C Data In Register
#define bI2CADR (* (char xdata *)0xFFF3) // I2C Address Register
// USB Registers
#define bHUBCURT (* (char xdata *)0xFFF4) // HUB Current Descriptor Register
#define bHUBPOTG (* (char xdata *)0xFFF5) // HUB Power-on to Power-Good Descriptor Register
#define bVIDSTA (* (char xdata *)0xFFF6) // VID/PID status register
#define bHUBCNFG (* (char xdata *)0xFFF7) // HUB Configuration Register
#define bHUBPIDL (* (char xdata *)0xFFF8) // HUB PID Low-byte Register
#define bHUBPIDH (* (char xdata *)0xFFF9) // HUB PID High-byte Register
#define bHUBVIDL (* (char xdata *)0xFFFA) // HUB VID Low-byte Register
#define bHUBVIDH (* (char xdata *)0xFFFB) // HUB VID High-byte Register
#define bUSBCTL (* (char xdata *)0xFFFC) // USB Control Register
#define bUSBMSK (* (char xdata *)0xFFFD) // USB Interrupt Mask Register
#define bUSBSTA (* (char xdata *)0xFFFE) // USB Status Register
#define bFUNADR (* (char xdata *)0xFFFF) // This register contains the device function address.
#define bINTCFG (* (char xdata *)0xFF84) // Interrupt P2 delay
#define NO_MORE_DATA 0xFFFF
#define USB_RETURN_DATA_LENGTH 4
#ifdef __cplusplus
}
#endif
#endif /* _TUSB2136_H_ */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -