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

📄 tusb2136.h

📁 TUSB3210固件开发源程序(C语言、开发环境keil)
💻 H
📖 第 1 页 / 共 2 页
字号:
#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 + -