📄 lpc236x.h
字号:
//-- D/A Converter --
#define DAC_BASE_ADDR 0xE006C000
#define rDACR (*(volatile unsigned long *)(DAC_BASE_ADDR + 0x00))
//-- Watchdog --
#define WDG_BASE_ADDR 0xE0000000
#define rWDMOD (*(volatile unsigned long *)(WDG_BASE_ADDR + 0x00))
#define rWDTC (*(volatile unsigned long *)(WDG_BASE_ADDR + 0x04))
#define rWDFEED (*(volatile unsigned long *)(WDG_BASE_ADDR + 0x08))
#define rWDTV (*(volatile unsigned long *)(WDG_BASE_ADDR + 0x0C))
#define rWDCLKSEL (*(volatile unsigned long *)(WDG_BASE_ADDR + 0x10))
//-- CAN CONTROLLERS AND ACCEPTANCE FILTER --
#define CAN_ACCEPT_BASE_ADDR 0xE003C000
#define rCAN_AFMR (*(volatile unsigned long *)(CAN_ACCEPT_BASE_ADDR + 0x00))
#define rCAN_SFF_SA (*(volatile unsigned long *)(CAN_ACCEPT_BASE_ADDR + 0x04))
#define rCAN_SFF_GRP_SA (*(volatile unsigned long *)(CAN_ACCEPT_BASE_ADDR + 0x08))
#define rCAN_EFF_SA (*(volatile unsigned long *)(CAN_ACCEPT_BASE_ADDR + 0x0C))
#define rCAN_EFF_GRP_SA (*(volatile unsigned long *)(CAN_ACCEPT_BASE_ADDR + 0x10))
#define rCAN_EOT (*(volatile unsigned long *)(CAN_ACCEPT_BASE_ADDR + 0x14))
#define rCAN_LUT_ERR_ADR (*(volatile unsigned long *)(CAN_ACCEPT_BASE_ADDR + 0x18))
#define rCAN_LUT_ERR (*(volatile unsigned long *)(CAN_ACCEPT_BASE_ADDR + 0x1C))
#define CAN_CENTRAL_BASE_ADDR 0xE0040000
#define rCAN_TX_SR (*(volatile unsigned long *)(CAN_CENTRAL_BASE_ADDR + 0x00))
#define rCAN_RX_SR (*(volatile unsigned long *)(CAN_CENTRAL_BASE_ADDR + 0x04))
#define rCAN_MSR (*(volatile unsigned long *)(CAN_CENTRAL_BASE_ADDR + 0x08))
#define CAN1_BASE_ADDR 0xE0044000
#define rCAN1MOD (*(volatile unsigned long *)(CAN1_BASE_ADDR + 0x00))
#define rCAN1CMR (*(volatile unsigned long *)(CAN1_BASE_ADDR + 0x04))
#define rCAN1GSR (*(volatile unsigned long *)(CAN1_BASE_ADDR + 0x08))
#define rCAN1ICR (*(volatile unsigned long *)(CAN1_BASE_ADDR + 0x0C))
#define rCAN1IER (*(volatile unsigned long *)(CAN1_BASE_ADDR + 0x10))
#define rCAN1BTR (*(volatile unsigned long *)(CAN1_BASE_ADDR + 0x14))
#define rCAN1EWL (*(volatile unsigned long *)(CAN1_BASE_ADDR + 0x18))
#define rCAN1SR (*(volatile unsigned long *)(CAN1_BASE_ADDR + 0x1C))
#define rCAN1RFS (*(volatile unsigned long *)(CAN1_BASE_ADDR + 0x20))
#define rCAN1RID (*(volatile unsigned long *)(CAN1_BASE_ADDR + 0x24))
#define rCAN1RDA (*(volatile unsigned long *)(CAN1_BASE_ADDR + 0x28))
#define rCAN1RDB (*(volatile unsigned long *)(CAN1_BASE_ADDR + 0x2C))
#define rCAN1TFI1 (*(volatile unsigned long *)(CAN1_BASE_ADDR + 0x30))
#define rCAN1TID1 (*(volatile unsigned long *)(CAN1_BASE_ADDR + 0x34))
#define rCAN1TDA1 (*(volatile unsigned long *)(CAN1_BASE_ADDR + 0x38))
#define rCAN1TDB1 (*(volatile unsigned long *)(CAN1_BASE_ADDR + 0x3C))
#define rCAN1TFI2 (*(volatile unsigned long *)(CAN1_BASE_ADDR + 0x40))
#define rCAN1TID2 (*(volatile unsigned long *)(CAN1_BASE_ADDR + 0x44))
#define rCAN1TDA2 (*(volatile unsigned long *)(CAN1_BASE_ADDR + 0x48))
#define rCAN1TDB2 (*(volatile unsigned long *)(CAN1_BASE_ADDR + 0x4C))
#define rCAN1TFI3 (*(volatile unsigned long *)(CAN1_BASE_ADDR + 0x50))
#define rCAN1TID3 (*(volatile unsigned long *)(CAN1_BASE_ADDR + 0x54))
#define rCAN1TDA3 (*(volatile unsigned long *)(CAN1_BASE_ADDR + 0x58))
#define rCAN1TDB3 (*(volatile unsigned long *)(CAN1_BASE_ADDR + 0x5C))
#define CAN2_BASE_ADDR 0xE0048000
#define rCAN2MOD (*(volatile unsigned long *)(CAN2_BASE_ADDR + 0x00))
#define rCAN2CMR (*(volatile unsigned long *)(CAN2_BASE_ADDR + 0x04))
#define rCAN2GSR (*(volatile unsigned long *)(CAN2_BASE_ADDR + 0x08))
#define rCAN2ICR (*(volatile unsigned long *)(CAN2_BASE_ADDR + 0x0C))
#define rCAN2IER (*(volatile unsigned long *)(CAN2_BASE_ADDR + 0x10))
#define rCAN2BTR (*(volatile unsigned long *)(CAN2_BASE_ADDR + 0x14))
#define rCAN2EWL (*(volatile unsigned long *)(CAN2_BASE_ADDR + 0x18))
#define rCAN2SR (*(volatile unsigned long *)(CAN2_BASE_ADDR + 0x1C))
#define rCAN2RFS (*(volatile unsigned long *)(CAN2_BASE_ADDR + 0x20))
#define rCAN2RID (*(volatile unsigned long *)(CAN2_BASE_ADDR + 0x24))
#define rCAN2RDA (*(volatile unsigned long *)(CAN2_BASE_ADDR + 0x28))
#define rCAN2RDB (*(volatile unsigned long *)(CAN2_BASE_ADDR + 0x2C))
#define rCAN2TFI1 (*(volatile unsigned long *)(CAN2_BASE_ADDR + 0x30))
#define rCAN2TID1 (*(volatile unsigned long *)(CAN2_BASE_ADDR + 0x34))
#define rCAN2TDA1 (*(volatile unsigned long *)(CAN2_BASE_ADDR + 0x38))
#define rCAN2TDB1 (*(volatile unsigned long *)(CAN2_BASE_ADDR + 0x3C))
#define rCAN2TFI2 (*(volatile unsigned long *)(CAN2_BASE_ADDR + 0x40))
#define rCAN2TID2 (*(volatile unsigned long *)(CAN2_BASE_ADDR + 0x44))
#define rCAN2TDA2 (*(volatile unsigned long *)(CAN2_BASE_ADDR + 0x48))
#define rCAN2TDB2 (*(volatile unsigned long *)(CAN2_BASE_ADDR + 0x4C))
#define rCAN2TFI3 (*(volatile unsigned long *)(CAN2_BASE_ADDR + 0x50))
#define rCAN2TID3 (*(volatile unsigned long *)(CAN2_BASE_ADDR + 0x54))
#define rCAN2TDA3 (*(volatile unsigned long *)(CAN2_BASE_ADDR + 0x58))
#define rCAN2TDB3 (*(volatile unsigned long *)(CAN2_BASE_ADDR + 0x5C))
//-- MultiMedia Card Interface(MCI) Controller ---
#define MCI_BASE_ADDR 0xE008C000
#define rMCI_POWER (*(volatile unsigned long *)(MCI_BASE_ADDR + 0x00))
#define rMCI_CLOCK (*(volatile unsigned long *)(MCI_BASE_ADDR + 0x04))
#define rMCI_ARGUMENT (*(volatile unsigned long *)(MCI_BASE_ADDR + 0x08))
#define rMCI_COMMAND (*(volatile unsigned long *)(MCI_BASE_ADDR + 0x0C))
#define rMCI_RESP_CMD (*(volatile unsigned long *)(MCI_BASE_ADDR + 0x10))
#define rMCI_RESP0 (*(volatile unsigned long *)(MCI_BASE_ADDR + 0x14))
#define rMCI_RESP1 (*(volatile unsigned long *)(MCI_BASE_ADDR + 0x18))
#define rMCI_RESP2 (*(volatile unsigned long *)(MCI_BASE_ADDR + 0x1C))
#define rMCI_RESP3 (*(volatile unsigned long *)(MCI_BASE_ADDR + 0x20))
#define rMCI_DATA_TMR (*(volatile unsigned long *)(MCI_BASE_ADDR + 0x24))
#define rMCI_DATA_LEN (*(volatile unsigned long *)(MCI_BASE_ADDR + 0x28))
#define rMCI_DATA_CTRL (*(volatile unsigned long *)(MCI_BASE_ADDR + 0x2C))
#define rMCI_DATA_CNT (*(volatile unsigned long *)(MCI_BASE_ADDR + 0x30))
#define rMCI_STATUS (*(volatile unsigned long *)(MCI_BASE_ADDR + 0x34))
#define rMCI_CLEAR (*(volatile unsigned long *)(MCI_BASE_ADDR + 0x38))
#define rMCI_MASK0 (*(volatile unsigned long *)(MCI_BASE_ADDR + 0x3C))
#define rMCI_MASK1 (*(volatile unsigned long *)(MCI_BASE_ADDR + 0x40))
#define rMCI_FIFO_CNT (*(volatile unsigned long *)(MCI_BASE_ADDR + 0x48))
#define rMCI_FIFO (*(volatile unsigned long *)(MCI_BASE_ADDR + 0x80))
//-- I2S Interface Controller (I2S)
#define I2S_BASE_ADDR 0xE0088000
#define rI2S_DAO (*(volatile unsigned long *)(I2S_BASE_ADDR + 0x00))
#define rI2S_DAI (*(volatile unsigned long *)(I2S_BASE_ADDR + 0x04))
#define rI2S_TX_FIFO (*(volatile unsigned long *)(I2S_BASE_ADDR + 0x08))
#define rI2S_RX_FIFO (*(volatile unsigned long *)(I2S_BASE_ADDR + 0x0C))
#define rI2S_STATE (*(volatile unsigned long *)(I2S_BASE_ADDR + 0x10))
#define rI2S_DMA1 (*(volatile unsigned long *)(I2S_BASE_ADDR + 0x14))
#define rI2S_DMA2 (*(volatile unsigned long *)(I2S_BASE_ADDR + 0x18))
#define rI2S_IRQ (*(volatile unsigned long *)(I2S_BASE_ADDR + 0x1C))
#define rI2S_TXRATE (*(volatile unsigned long *)(I2S_BASE_ADDR + 0x20))
#define rI2S_RXRATE (*(volatile unsigned long *)(I2S_BASE_ADDR + 0x24))
//-- General-purpose DMA Controller --
#define DMA_BASE_ADDR 0xFFE04000
#define rGPDMA_INT_STAT (*(volatile unsigned long *)(DMA_BASE_ADDR + 0x000))
#define rGPDMA_INT_TCSTAT (*(volatile unsigned long *)(DMA_BASE_ADDR + 0x004))
#define rGPDMA_INT_TCCLR (*(volatile unsigned long *)(DMA_BASE_ADDR + 0x008))
#define rGPDMA_INT_ERR_STAT (*(volatile unsigned long *)(DMA_BASE_ADDR + 0x00C))
#define rGPDMA_INT_ERR_CLR (*(volatile unsigned long *)(DMA_BASE_ADDR + 0x010))
#define rGPDMA_RAW_INT_TCSTAT (*(volatile unsigned long *)(DMA_BASE_ADDR + 0x014))
#define rGPDMA_RAW_INT_ERR_STAT (*(volatile unsigned long *)(DMA_BASE_ADDR + 0x018))
#define rGPDMA_ENABLED_CHNS (*(volatile unsigned long *)(DMA_BASE_ADDR + 0x01C))
#define rGPDMA_SOFT_BREQ (*(volatile unsigned long *)(DMA_BASE_ADDR + 0x020))
#define rGPDMA_SOFT_SREQ (*(volatile unsigned long *)(DMA_BASE_ADDR + 0x024))
#define rGPDMA_SOFT_LBREQ (*(volatile unsigned long *)(DMA_BASE_ADDR + 0x028))
#define rGPDMA_SOFT_LSREQ (*(volatile unsigned long *)(DMA_BASE_ADDR + 0x02C))
#define rGPDMA_CONFIG (*(volatile unsigned long *)(DMA_BASE_ADDR + 0x030))
#define rGPDMA_SYNC (*(volatile unsigned long *)(DMA_BASE_ADDR + 0x034))
//-- DMA channel 0 registers --
#define rGPDMA_CH0_SRC (*(volatile unsigned long *)(DMA_BASE_ADDR + 0x100))
#define rGPDMA_CH0_DEST (*(volatile unsigned long *)(DMA_BASE_ADDR + 0x104))
#define rGPDMA_CH0_LLI (*(volatile unsigned long *)(DMA_BASE_ADDR + 0x108))
#define rGPDMA_CH0_CTRL (*(volatile unsigned long *)(DMA_BASE_ADDR + 0x10C))
#define rGPDMA_CH0_CFG (*(volatile unsigned long *)(DMA_BASE_ADDR + 0x110))
//-- DMA channel 1 registers --
#define rGPDMA_CH1_SRC (*(volatile unsigned long *)(DMA_BASE_ADDR + 0x120))
#define rGPDMA_CH1_DEST (*(volatile unsigned long *)(DMA_BASE_ADDR + 0x124))
#define rGPDMA_CH1_LLI (*(volatile unsigned long *)(DMA_BASE_ADDR + 0x128))
#define rGPDMA_CH1_CTRL (*(volatile unsigned long *)(DMA_BASE_ADDR + 0x12C))
#define rGPDMA_CH1_CFG (*(volatile unsigned long *)(DMA_BASE_ADDR + 0x130))
//-- USB Controller --
#define USB_INT_BASE_ADDR 0xE01FC1C0
#define USB_BASE_ADDR 0xFFE0C200 //-- USB Base Address
#define rUSB_INT_STAT (*(volatile unsigned long *)(USB_INT_BASE_ADDR + 0x00))
//-- USB Device Interrupt Registers --
#define rDEV_INT_STAT (*(volatile unsigned long *)(USB_BASE_ADDR + 0x00))
#define rDEV_INT_EN (*(volatile unsigned long *)(USB_BASE_ADDR + 0x04))
#define rDEV_INT_CLR (*(volatile unsigned long *)(USB_BASE_ADDR + 0x08))
#define rDEV_INT_SET (*(volatile unsigned long *)(USB_BASE_ADDR + 0x0C))
#define rDEV_INT_PRIO (*(volatile unsigned long *)(USB_BASE_ADDR + 0x2C))
//-- USB Device Endpoint Interrupt Registers --
#define rEP_INT_STAT (*(volatile unsigned long *)(USB_BASE_ADDR + 0x30))
#define rEP_INT_EN (*(volatile unsigned long *)(USB_BASE_ADDR + 0x34))
#define rEP_INT_CLR (*(volatile unsigned long *)(USB_BASE_ADDR + 0x38))
#define rEP_INT_SET (*(volatile unsigned long *)(USB_BASE_ADDR + 0x3C))
#define rEP_INT_PRIO (*(volatile unsigned long *)(USB_BASE_ADDR + 0x40))
//-- USB Device Endpoint Realization Registers --
#define rREALIZE_EP (*(volatile unsigned long *)(USB_BASE_ADDR + 0x44))
#define rEP_INDEX (*(volatile unsigned long *)(USB_BASE_ADDR + 0x48))
#define rMAXPACKET_SIZE (*(volatile unsigned long *)(USB_BASE_ADDR + 0x4C))
//-- USB Device Command Reagisters --
#define rCMD_CODE (*(volatile unsigned long *)(USB_BASE_ADDR + 0x10))
#define rCMD_DATA (*(volatile unsigned long *)(USB_BASE_ADDR + 0x14))
//-- USB Device Data Transfer Registers --
#define rRX_DATA (*(volatile unsigned long *)(USB_BASE_ADDR + 0x18))
#define rTX_DATA (*(volatile unsigned long *)(USB_BASE_ADDR + 0x1C))
#define rRX_PLENGTH (*(volatile unsigned long *)(USB_BASE_ADDR + 0x20))
#define rTX_PLENGTH (*(volatile unsigned long *)(USB_BASE_ADDR + 0x24))
#define rUSB_CTRL (*(volatile unsigned long *)(USB_BASE_ADDR + 0x28))
//-- USB Device DMA Registers --
#define rDMA_REQ_STAT (*(volatile unsigned long *)(USB_BASE_ADDR + 0x50))
#define rDMA_REQ_CLR (*(volatile unsigned long *)(USB_BASE_ADDR + 0x54))
#define rDMA_REQ_SET (*(volatile unsigned long *)(USB_BASE_ADDR + 0x58))
#define rUDCA_HEAD (*(volatile unsigned long *)(USB_BASE_ADDR
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -