📄 iolpc23xx.h
字号:
/* CAN tx data register A */
typedef struct {
__REG32 Data1 :8;
__REG32 Data2 :8;
__REG32 Data3 :8;
__REG32 Data4 :8;
} __cantda_bits;
/* CAN tx data register B */
typedef struct {
__REG32 Data5 :8;
__REG32 Data6 :8;
__REG32 Data7 :8;
__REG32 Data8 :8;
} __cantdb_bits;
/* UART interrupt enable register */
typedef struct{
__REG32 RDAIE : 1;
__REG32 THREIE : 1;
__REG32 RXLSIE : 1;
__REG32 : 5;
__REG32 ABTOIntEn : 1;
__REG32 ABEOIntEn : 1;
__REG32 :22;
} __uartier0_bits;
/* UART1 interrupt enable register */
typedef struct{
__REG32 RDAIE : 1;
__REG32 THREIE : 1;
__REG32 RXLSIE : 1;
__REG32 RXMSIE : 1;
__REG32 : 3;
__REG32 CTSIE : 1;
__REG32 ABTOIntEn : 1;
__REG32 ABEOIntEn : 1;
__REG32 :22;
} __uartier1_bits;
/* UART Transmit Enable Register */
typedef struct{
__REG8 : 7;
__REG8 TxEn : 1;
} __uartter_bits;
/* UART line status register */
typedef struct{
__REG8 DR : 1;
__REG8 OE : 1;
__REG8 PE : 1;
__REG8 FE : 1;
__REG8 BI : 1;
__REG8 THRE : 1;
__REG8 TEMT : 1;
__REG8 RXFE : 1;
} __uartlsr_bits;
/* UART line control register */
typedef struct{
__REG8 WLS : 2;
__REG8 SBS : 1;
__REG8 PE : 1;
__REG8 PS : 2;
__REG8 BC : 1;
__REG8 DLAB : 1;
} __uartlcr_bits;
/* UART interrupt identification register and fifo control register */
typedef union {
//UxIIR
struct {
__REG32 IP : 1;
__REG32 IID : 3;
__REG32 : 2;
__REG32 IIRFE : 2;
__REG32 ABEOInt: 1;
__REG32 ABTOInt: 1;
__REG32 :22;
};
//UxFCR
struct {
__REG32 FCRFE : 1;
__REG32 RFR : 1;
__REG32 TFR : 1;
__REG32 : 3;
__REG32 RTLS : 2;
__REG32 :24;
};
} __uartfcriir_bits;
/* UART modem control register */
typedef struct{
__REG8 DTR : 1;
__REG8 RTS : 1;
__REG8 : 2;
__REG8 LMS : 1;
__REG8 : 1;
__REG8 RTSen : 1;
__REG8 CTSen : 1;
} __uartmcr_bits;
/* UART modem status register */
typedef union{
//UxMSR
struct {
__REG8 DCTS : 1;
__REG8 DDSR : 1;
__REG8 TERI : 1;
__REG8 DDCD : 1;
__REG8 CTS : 1;
__REG8 DSR : 1;
__REG8 RI : 1;
__REG8 DCD : 1;
};
//UxMSR
struct {
__REG8 MSR0 : 1;
__REG8 MSR1 : 1;
__REG8 MSR2 : 1;
__REG8 MSR3 : 1;
__REG8 MSR4 : 1;
__REG8 MSR5 : 1;
__REG8 MSR6 : 1;
__REG8 MSR7 : 1;
};
} __uartmsr_bits;
/* UART Auto-baud Control Register */
typedef struct{
__REG32 Start : 1;
__REG32 Mode : 1;
__REG32 AutoRestart : 1;
__REG32 : 5;
__REG32 ABEOIntClr : 1;
__REG32 ABTOIntClr : 1;
__REG32 :22;
} __uartacr_bits;
/* IrDA Control Register for UART3 Only */
typedef struct{
__REG32 IrDAEn : 1;
__REG32 IrDAInv : 1;
__REG32 FixPulseEn : 1;
__REG32 PulseDiv : 3;
__REG32 :26;
} __uarticr_bits;
/* UART Fractional Divider Register */
typedef struct{
__REG32 DIVADDVAL : 4;
__REG32 MULVAL : 4;
__REG32 :24;
} __uartfdr_bits;
/* SPI control register */
typedef struct{
__REG32 : 2;
__REG32 BitEnable : 1;
__REG32 CPHA : 1;
__REG32 CPOL : 1;
__REG32 MSTR : 1;
__REG32 LSBF : 1;
__REG32 SPIE : 1;
__REG32 BITS : 4;
__REG32 :20;
} __spcr_bits;
/* SPI status register */
typedef struct{
__REG32 : 3;
__REG32 ABRT : 1;
__REG32 MODF : 1;
__REG32 ROVR : 1;
__REG32 WCOL : 1;
__REG32 SPIF : 1;
__REG32 :24;
} __spsr_bits;
/* SPI clock counter register */
typedef struct{
__REG32 COUNTER : 8;
__REG32 :24;
} __spccr_bits;
/* SPI interrupt register */
typedef struct{
__REG32 SPIINT : 1;
__REG32 :31;
} __spint_bits;
/* SPI Test control register */
typedef struct{
__REG8 : 1;
__REG8 Test : 7;
} __sptcr_bits;
/* SPI Test Status Register */
typedef struct{
__REG8 : 3;
__REG8 ABRT : 1;
__REG8 MODF : 1;
__REG8 ROVR : 1;
__REG8 WCOL : 1;
__REG8 SPIF : 1;
} __sptsr_bits;
/* SSP Control Register 0 */
typedef struct{
__REG32 DSS : 4;
__REG32 FRF : 2;
__REG32 SPO : 1;
__REG32 SPH : 1;
__REG32 SCR : 8;
__REG32 :16;
} __sspcr0_bits;
/* SSP Control Register 1 */
typedef struct{
__REG32 LBM : 1;
__REG32 SSE : 1;
__REG32 MS : 1;
__REG32 SOD : 1;
__REG32 :28;
} __sspcr1_bits;
/* SSP Data Register */
typedef struct{
__REG32 DATA :16;
__REG32 :16;
} __sspdr_bits;
/* SSP Status Register */
typedef struct{
__REG32 TFE : 1;
__REG32 TNF : 1;
__REG32 RNE : 1;
__REG32 RFF : 1;
__REG32 BSY : 1;
__REG32 :27;
} __sspsr_bits;
/* SSP Clock Prescale Register */
typedef struct{
__REG32 CPSDVSR : 8;
__REG32 :24;
} __sspcpsr_bits;
/* SSP Interrupt Mask Set/Clear Register */
typedef struct{
__REG32 RORIM : 1;
__REG32 RTIM : 1;
__REG32 RXIM : 1;
__REG32 TXIM : 1;
__REG32 :28;
} __sspimsc_bits;
/* SSP Raw Interrupt Status Register */
typedef struct{
__REG32 RORRIS : 1;
__REG32 RTRIS : 1;
__REG32 RXRIS : 1;
__REG32 TXRIS : 1;
__REG32 :28;
} __sspris_bits;
/* SSP Masked Interrupt Status Register */
typedef struct{
__REG32 RORMIS : 1;
__REG32 RTMIS : 1;
__REG32 RXMIS : 1;
__REG32 TXMIS : 1;
__REG32 :28;
} __sspmis_bits;
/* SSP Interrupt Clear Register */
typedef struct{
__REG32 RORIC : 1;
__REG32 RTIC : 1;
__REG32 :30;
} __sspicr_bits;
/* SSP DMA Control Register */
typedef struct{
__REG32 RXDMAE : 1;
__REG32 TXDMAE : 1;
__REG32 :30;
} __sspdmacr_bits;
/* SD/MMC Power control register */
typedef struct{
__REG32 Ctrl : 2;
__REG32 : 4;
__REG32 OpenDrain : 1;
__REG32 Rod : 1;
__REG32 :24;
} __MCIPower_bits;
/* SD/MMC Clock control register */
typedef struct{
__REG32 ClkDiv : 8;
__REG32 Enable : 1;
__REG32 PwrSave : 1;
__REG32 Bypass : 1;
__REG32 WideBus : 1;
__REG32 :20;
} __MCIClock_bits;
/* SD/MMC Command register */
typedef struct{
__REG32 CmdIndex : 6;
__REG32 Response : 1;
__REG32 LongRsp : 1;
__REG32 Interrupt : 1;
__REG32 Pending : 1;
__REG32 Enable : 1;
__REG32 :21;
} __MCICommand_bits;
/* SD/MMC Command response register */
typedef struct{
__REG32 RespCmd : 6;
__REG32 :26;
} __MCIRespCmd_bits;
/* SD/MMC Data control register */
typedef struct{
__REG32 Enable : 1;
__REG32 Direction : 1;
__REG32 Mode : 1;
__REG32 DMAEnable : 1;
__REG32 BlockSize : 4;
__REG32 :24;
} __MCIDataCtrl_bits;
/* SD/MMC Status register */
typedef struct{
__REG32 CmdCrcFail : 1;
__REG32 DataCrcFail : 1;
__REG32 CmdTimeOut : 1;
__REG32 DataTimeOut : 1;
__REG32 TxUnderrun : 1;
__REG32 RxOverrun : 1;
__REG32 CmdRespEnd : 1;
__REG32 CmdSent : 1;
__REG32 DataEnd : 1;
__REG32 StartBitErr : 1;
__REG32 DataBlockEnd : 1;
__REG32 CmdActive : 1;
__REG32 TxActive : 1;
__REG32 RxActive : 1;
__REG32 TxFifoHalfEmpty : 1;
__REG32 RxFifoHalfFull : 1;
__REG32 TxFifoFull : 1;
__REG32 RxFifoFull : 1;
__REG32 TxFifoEmpty : 1;
__REG32 RxFifoEmpty : 1;
__REG32 TxDataAvlbl : 1;
__REG32 RxDataAvlbl : 1;
__REG32 :10;
} __MCIStatus_bits;
/* SD/MMC Clear register */
typedef struct{
__REG32 CmdCrcFailClr : 1;
__REG32 DataCrcFailClr : 1;
__REG32 CmdTimeOutClr : 1;
__REG32 DataTimeOutClr : 1;
__REG32 TxUnderrunClr : 1;
__REG32 RxOverrunClr : 1;
__REG32 CmdRespEndClr : 1;
__REG32 CmdSentClr : 1;
__REG32 DataEndClr : 1;
__REG32 StartBitErrClr : 1;
__REG32 DataBlockEndClr : 1;
__REG32 :21;
} __MCIClear_bits;
/* SD/MMC FIFO counter register */
typedef struct{
__REG32 DataCount :15;
__REG32 :17;
} __MCIFifoCnt_bits;
/* I2C control set register */
typedef struct{
__REG32 : 2;
__REG32 AA : 1;
__REG32 SI : 1;
__REG32 STO : 1;
__REG32 STA : 1;
__REG32 I2EN : 1;
__REG32 :25;
} __i2conset_bits;
/* I2C control clear register */
typedef struct{
__REG32 : 2;
__REG32 AAC : 1;
__REG32 SIC : 1;
__REG32 : 1;
__REG32 STAC : 1;
__REG32 I2ENC : 1;
__REG32 :25;
} __i2conclr_bits;
/* I2C status register */
typedef struct{
__REG32 STATUS : 8;
__REG32 :24;
} __i2stat_bits;
/* I2C data register */
typedef struct{
__REG32 DATA : 8;
__REG32 :24;
} __i2dat_bits;
/* I2C slave address register */
typedef struct{
__REG32 GC : 1;
__REG32 ADDR : 7;
__REG32 :24;
} __i2adr_bits;
/* I2C scl duty cycle register */
typedef struct{
__REG32 COUNT :16;
__REG32 :16;
} __i2scl_bits;
/* I2S Digital Audio Output Registes */
typedef struct{
__REG32 WORS_WIDTH : 2;
__REG32 MONO : 1;
__REG32 STOP : 1;
__REG32 RESET : 1;
__REG32 WS_SEL : 1;
__REG32 WS_HALFPERIOD : 9;
__REG32 MUTE : 1;
__REG32 :16;
} __i2sdao_bits;
/* I2S Digital Audio Input Register */
typedef struct{
__REG32 WORS_WIDTH : 2;
__REG32 MONO : 1;
__REG32 STOP : 1;
__REG32 RESET : 1;
__REG32 WS_SEL : 1;
__REG32 WS_HALFPERIOD : 9;
__REG32 :17;
} __i2sdai_bits;
/* I2S Status Feedback Register */
typedef struct{
__REG32 IRQ : 1;
__REG32 DMAREQ1 : 1;
__REG32 DMAREQ2 : 1;
__REG32 : 5;
__REG32 RX_LEVEL : 8;
__REG32 TX_LEVEL : 8;
__REG32 : 8;
} __i2sstate_bits;
/* I2S DMA Configuration Register */
typedef struct{
__REG32 RX_DMA_EN : 1;
__REG32 TX_DMA_EN : 1;
__REG32 : 6;
__REG32 RX_DEPTH_DMA : 8;
__REG32 TX_DEPTH_DMA : 8;
__REG32 : 8;
} __i2sdma_bits;
/* I2S Interrupt Request Control register */
typedef struct{
__REG32 RX_IRQ_EN : 1;
__REG32 TX_IRQ_EN : 1;
__REG32 : 6;
__REG32 RX_DEPTH_IRQ : 8;
__REG32 TX_DEPTH_IRQ : 8;
__REG32 : 8;
} __i2sirq_bits;
/* I2S Transmit Clock Rate Register */
typedef struct{
__REG32 TX_RATE :10;
__REG32 :22;
} __i2stxrate_bits;
/* I2S Receive Clock Rate Register */
typedef struct{
__REG32 RX_RATE :10;
__REG32 :22;
} __i2srxrate_bits;
/* TIMER interrupt register */
typedef struct{
__REG32 MR0INT : 1;
__REG32 MR1INT : 1;
__REG32 MR2INT : 1;
__REG32 MR3INT : 1;
__REG32 CR0INT : 1;
__REG32 CR1INT : 1;
__REG32 CR2INT : 1;
__REG32 CR3INT : 1;
__REG32 :24;
} __ir_bits;
/* TIMER control register */
typedef struct{
__REG32 CE : 1;
__REG32 CR : 1;
__REG32 :30;
} __tcr_bits;
/* TIMER count control register */
typedef struct{
__REG32 CTM : 2; //Counter/Timer Mode
__REG32 CIS : 2; //Count Input Select
__REG32 :28;
} __ctcr_bits;
/* TIMER match control register */
typedef struct{
__REG32 MR0I : 1;
__REG32 MR0R : 1;
__REG32 MR0S : 1;
__REG32 MR1I : 1;
__REG32 MR1R : 1;
__REG32 MR1S : 1;
__REG32 MR2I : 1;
__REG32 MR2R :
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -