📄 lpc2210.h
字号:
/* lpc2210.h - header for lpc2210 with ARM7 core */
#ifndef __INClpc2210h
#define __INClpc2210h
#ifdef __cplusplus
extern "C" {
#endif
/* EXTERNAL MEMORY CONTROLLER (EMC) */
/* 外部总线控制器 */
#define BCFG0 (*(volatile unsigned long*)(0xFFE00000)) /* lpc22xx only */
#define BCFG1 (*(volatile unsigned long*)(0xFFE00004)) /* lpc22xx only */
#define BCFG2 (*(volatile unsigned long*)(0xFFE00008)) /* lpc22xx only */
#define BCFG3 (*(volatile unsigned long*)(0xFFE0000C)) /* lpc22xx only */
/* External Interrupts */
/* 外部中断控制寄存器 */
#define EXTINT (*(volatile unsigned char*)(0xE01FC140))
#define EXTWAKE (*(volatile unsigned char*)(0xE01FC144))
#define EXTMODE (*(volatile unsigned char*)(0xE01FC148)) /* Not used for lpc210x*/
#define EXTPOLAR (*(volatile unsigned char*)(0xE01FC14C)) /* Not used for lpc210x*/
/* SMemory mapping control. */
/* 内存remap控制寄存器 */
#define MEMMAP (0xE01FC040)
/* Phase Locked Loop (PLL) */
/* PLL控制寄存器 */
#define PLLCON (*(volatile unsigned char*)(0xE01FC080))
#define PLLCFG (*(volatile unsigned char*)(0xE01FC084))
#define PLLSTAT (*(volatile unsigned short*)(0xE01FC088))
#define PLLFEED (*(volatile unsigned char*)(0xE01FC08C))
/* Power Control */
/* 功率控制寄存器 */
#define PCON (0xE01FC0C0)
#define PCONP (0xE01FC0C4)
/* VPB Divider */
/* VLSI外设总线(VPB)分频寄存器 */
#define VPBDIV (*(volatile unsigned char*)(0xE01FC100))
/* Memory Accelerator Module (MAM) */
/* 存储器加速模块 */
#define MAMCR (*(volatile unsigned char*)(0xE01FC000))
#define MAMTIM (*(volatile unsigned char*)(0xE01FC004))
/* Vectored Interrupt Controller (VIC) */
/* 向量中断控制器(VIC)的特殊寄存器 */
#define VICIRQStatus (*(volatile unsigned long*)(0xFFFFF000))
#define VICFIQStatus (*(volatile unsigned long*)(0xFFFFF004))
#define VICRawIntr (*(volatile unsigned long*)(0xFFFFF008))
#define VICIntSelect (*(volatile unsigned long*)(0xFFFFF00C))
#define VICIntEnable (*(volatile unsigned long*)(0xFFFFF010))
#define VICIntEnClr (*(volatile unsigned long*)(0xFFFFF014))
#define VICSoftInt (*(volatile unsigned long*)(0xFFFFF018))
#define VICSoftIntClear (*(volatile unsigned long*)(0xFFFFF01C))
#define VICProtection (*(volatile unsigned long*)(0xFFFFF020))
#define VICVectAddr (*(volatile unsigned long*)(0xFFFFF030))
#define VICDefVectAddr (*(volatile unsigned long*)(0xFFFFF034))
#define VICVectAddr0 (*(volatile unsigned long*)(0xFFFFF100))
#define VICVectAddr1 (*(volatile unsigned long*)(0xFFFFF104))
#define VICVectAddr2 (*(volatile unsigned long*)(0xFFFFF108))
#define VICVectAddr3 (*(volatile unsigned long*)(0xFFFFF10C))
#define VICVectAddr4 (*(volatile unsigned long*)(0xFFFFF110))
#define VICVectAddr5 (*(volatile unsigned long*)(0xFFFFF114))
#define VICVectAddr6 (*(volatile unsigned long*)(0xFFFFF118))
#define VICVectAddr7 (*(volatile unsigned long*)(0xFFFFF11C))
#define VICVectAddr8 (*(volatile unsigned long*)(0xFFFFF120))
#define VICVectAddr9 (*(volatile unsigned long*)(0xFFFFF124))
#define VICVectAddr10 (*(volatile unsigned long*)(0xFFFFF128))
#define VICVectAddr11 (*(volatile unsigned long*)(0xFFFFF12C))
#define VICVectAddr12 (*(volatile unsigned long*)(0xFFFFF130))
#define VICVectAddr13 (*(volatile unsigned long*)(0xFFFFF134))
#define VICVectAddr14 (*(volatile unsigned long*)(0xFFFFF138))
#define VICVectAddr15 (*(volatile unsigned long*)(0xFFFFF13C))
#define VICVectCntl0 (*(volatile unsigned char*)(0xFFFFF200))
#define VICVectCntl1 (*(volatile unsigned char*)(0xFFFFF204))
#define VICVectCntl2 (*(volatile unsigned char*)(0xFFFFF208))
#define VICVectCntl3 (*(volatile unsigned char*)(0xFFFFF20C))
#define VICVectCntl4 (*(volatile unsigned char*)(0xFFFFF210))
#define VICVectCntl5 (*(volatile unsigned char*)(0xFFFFF214))
#define VICVectCntl6 (*(volatile unsigned char*)(0xFFFFF218))
#define VICVectCntl7 (*(volatile unsigned char*)(0xFFFFF21C))
#define VICVectCntl8 (*(volatile unsigned char*)(0xFFFFF220))
#define VICVectCntl9 (*(volatile unsigned char*)(0xFFFFF224))
#define VICVectCntl10 (*(volatile unsigned char*)(0xFFFFF228))
#define VICVectCntl11 (*(volatile unsigned char*)(0xFFFFF22C))
#define VICVectCntl12 (*(volatile unsigned char*)(0xFFFFF230))
#define VICVectCntl13 (*(volatile unsigned char*)(0xFFFFF234))
#define VICVectCntl14 (*(volatile unsigned char*)(0xFFFFF238))
#define VICVectCntl15 (*(volatile unsigned char*)(0xFFFFF23C))
/* Pin Connect Block */
/* 管脚连接模块控制寄存器 */
#define PINSEL0 (*(volatile unsigned long*)(0xE002C000))
#define PINSEL1 (*(volatile unsigned long*)(0xE002C004))
#define PINSEL2 (*(volatile unsigned long*)(0xE002C014)) /* Not used for lpc210x*/
/* General Purpose Input/Output (GPIO) */
/* 通用并行IO口的特殊寄存器 */
#define IOPIN (*(volatile unsigned long*)(0xE0028000)) /* lpc210x only */
#define IOSET (*(volatile unsigned long*)(0xE0028004)) /* lpc210x only */
#define IODIR (*(volatile unsigned long*)(0xE0028008)) /* lpc210x only */
#define IOCLR (*(volatile unsigned long*)(0xE002800C)) /* lpc210x only */
#define IO0PIN (*(volatile unsigned long*)(0xE0028000)) /* Not used for lpc210x*/
#define IO0SET (*(volatile unsigned long*)(0xE0028004)) /* Not used for lpc210x*/
#define IO0DIR (*(volatile unsigned long*)(0xE0028008)) /* Not used for lpc210x*/
#define IO0CLR (*(volatile unsigned long*)(0xE002800C)) /* Not used for lpc210x*/
#define IO1PIN (*(volatile unsigned long*)(0xE0028010)) /* Not used for lpc210x*/
#define IO1SET (*(volatile unsigned long*)(0xE0028014)) /* Not used for lpc210x*/
#define IO1DIR (*(volatile unsigned long*)(0xE0028018)) /* Not used for lpc210x*/
#define IO1CLR (*(volatile unsigned long*)(0xE002801C)) /* Not used for lpc210x*/
#define IO2PIN (*(volatile unsigned long*)(0xE0028020)) /* lpc22xx only */
#define IO2SET (*(volatile unsigned long*)(0xE0028024)) /* lpc22xx only */
#define IO2DIR (*(volatile unsigned long*)(0xE0028028)) /* lpc22xx only */
#define IO2CLR (*(volatile unsigned long*)(0xE002802C)) /* lpc22xx only */
#define IO3PIN (*(volatile unsigned long*)(0xE0028030)) /* lpc22xx only */
#define IO3SET (*(volatile unsigned long*)(0xE0028034)) /* lpc22xx only */
#define IO3DIR (*(volatile unsigned long*)(0xE0028038)) /* lpc22xx only */
#define IO3CLR (*(volatile unsigned long*)(0xE002803C)) /* lpc22xx only */
/* Universal Asynchronous Receiver Transmitter 0 (UART0) */
/* 通用异步串行口0(UART0)的特殊寄存器 */
#define U0RBR (*(volatile unsigned char*)(0xE000C000))
#define U0THR (*(volatile unsigned char*)(0xE000C000))
#define U0IER (*(volatile unsigned char*)(0xE000C004))
#define U0IIR (*(volatile unsigned char*)(0xE000C008))
#define U0FCR (*(volatile unsigned char*)(0xE000C008))
#define U0LCR (*(volatile unsigned char*)(0xE000C00C))
#define U0LSR (*(volatile unsigned char*)(0xE000C014))
#define U0SCR (*(volatile unsigned char*)(0xE000C01C))
#define U0DLL (*(volatile unsigned char*)(0xE000C000))
#define U0DLM (*(volatile unsigned char*)(0xE000C004))
/* Universal Asynchronous Receiver Transmitter 1 (UART1) */
/* 通用异步串行口1(UART1)的特殊寄存器 */
#define U1RBR (*(volatile unsigned char*)(0xE0010000))
#define U1THR (*(volatile unsigned char*)(0xE0010000))
#define U1IER (*(volatile unsigned char*)(0xE0010004))
#define U1IIR (*(volatile unsigned char*)(0xE0010008))
#define U1FCR (*(volatile unsigned char*)(0xE0010008))
#define U1LCR (*(volatile unsigned char*)(0xE001000C))
#define U1MCR (*(volatile unsigned char*)(0xE0010010))
#define U1LSR (*(volatile unsigned char*)(0xE0010014))
#define U1MSR (*(volatile unsigned char*)(0xE0010018))
#define U1SCR (*(volatile unsigned char*)(0xE001001C))
#define U1DLL (*(volatile unsigned char*)(0xE0010000))
#define U1DLM (*(volatile unsigned char*)(0xE0010004))
/* I2C (8/16 bit data bus) */
/* 芯片间总线(I2C)的特殊寄存器 */
#define I2CONSET (0xE001C000)
#define I2STAT (0xE001C004)
#define I2DAT (0xE001C008)
#define I2ADR (0xE001C00C)
#define I2SCLH (0xE001C010)
#define I2SCLL (0xE001C014)
#define I2CONCLR (0xE001C018)
/* SPI (Serial Peripheral Interface) */
/* SPI总线接口的特殊寄存器 */
/* only for lpc210x*/
#define SPI_SPCR (0xE0020000)
#define SPI_SPSR (0xE0020004)
#define SPI_SPDR (0xE0020008)
#define SPI_SPCCR (0xE002000C)
#define SPI_SPINT (0xE002001C)
#define S0PCR (0xE0020000) /* Not used for lpc210x*/
#define S0PSR (0xE0020004) /* Not used for lpc210x*/
#define S0PDR (0xE0020008) /* Not used for lpc210x*/
#define S0PCCR (0xE002000C) /* Not used for lpc210x*/
#define S0PINT (0xE002001C) /* Not used for lpc210x*/
#define S1PCR (0xE0030000) /* Not used for lpc210x*/
#define S1PSR (0xE0030004) /* Not used for lpc210x*/
#define S1PDR (0xE0030008) /* Not used for lpc210x*/
#define S1PCCR (0xE003000C) /* Not used for lpc210x*/
#define S1PINT (0xE003001C) /* Not used for lpc210x*/
/* CAN CONTROLLERS AND ACCEPTANCE FILTER */
/* CAN控制器和接收路波器 */
#define CAN1MOD (0xE0044000) /* lpc2119\lpc2129\lpc2292\lpc2294 only */
#define CAN1CMR (0xE0044004) /* lpc2119\lpc2129\lpc2292\lpc2294 only */
#define CAN1GSR (0xE0044008) /* lpc2119\lpc2129\lpc2292\lpc2294 only */
#define CAN1ICR (0xE004400C) /* lpc2119\lpc2129\lpc2292\lpc2294 only */
#define CAN1IER (0xE0044010) /* lpc2119\lpc2129\lpc2292\lpc2294 only */
#define CAN1BTR (0xE0044014) /* lpc2119\lpc2129\lpc2292\lpc2294 only */
#define CAN1EWL (0xE004401C) /* lpc2119\lpc2129\lpc2292\lpc2294 only */
#define CAN1SR (0xE0044020) /* lpc2119\lpc2129\lpc2292\lpc2294 only */
#define CAN1RFS (0xE0044024) /* lpc2119\lpc2129\lpc2292\lpc2294 only */
#define CAN1RDA (0xE0044028) /* lpc2119\lpc2129\lpc2292\lpc2294 only */
#define CAN1RDB (0xE004402C) /* lpc2119\lpc2129\lpc2292\lpc2294 only */
#define CAN1TFI1 (0xE0044030) /* lpc2119\lpc2129\lpc2292\lpc2294 only */
#define CAN1TID1 (0xE0044034) /* lpc2119\lpc2129\lpc2292\lpc2294 only */
#define CAN1TDA1 (0xE0044038) /* lpc2119\lpc2129\lpc2292\lpc2294 only */
#define CAN1TDB1 (0xE004403C) /* lpc2119\lpc2129\lpc2292\lpc2294 only */
#define CAN1TFI2 (0xE0044040) /* lpc2119\lpc2129\lpc2292\lpc2294 only */
#define CAN1TID2 (0xE0044044) /* lpc2119\lpc2129\lpc2292\lpc2294 only */
#define CAN1TDA2 (0xE0044048) /* lpc2119\lpc2129\lpc2292\lpc2294 only */
#define CAN1TDB2 (0xE004404C) /* lpc2119\lpc2129\lpc2292\lpc2294 only */
#define CAN1TFI3 (0xE0044050) /* lpc2119\lpc2129\lpc2292\lpc2294 only */
#define CAN1TID3 (0xE0044054) /* lpc2119\lpc2129\lpc2292\lpc2294 only */
#define CAN1TDA3 (0xE0044058) /* lpc2119\lpc2129\lpc2292\lpc2294 only */
#define CAN1TDB3 (0xE004405C) /* lpc2119\lpc2129\lpc2292\lpc2294 only */
#define CAN2MOD (0xE0048000) /* lpc2119\lpc2129\lpc2292\lpc2294 only */
#define CAN2CMR (0xE0048004) /* lpc2119\lpc2129\lpc2292\lpc2294 only */
#define CAN2GSR (0xE0048008) /* lpc2119\lpc2129\lpc2292\lpc2294 only */
#define CAN2ICR (0xE004800C) /* lpc2119\lpc2129\lpc2292\lpc2294 only */
#define CAN2IER (0xE0048010) /* lpc2119\lpc2129\lpc2292\lpc2294 only */
#define CAN2BTR (0xE0048014) /* lpc2119\lpc2129\lpc2292\lpc2294 only */
#define CAN2EWL (0xE004801C) /* lpc2119\lpc2129\lpc2292\lpc2294 only */
#define CAN2SR (0xE0048020) /* lpc2119\lpc2129\lpc2292\lpc2294 only */
#define CAN2RFS (0xE0048024) /* lpc2119\lpc2129\lpc2292\lpc2294 only */
#define CAN2RDA (0xE0048028) /* lpc2119\lpc2129\lpc2292\lpc2294 only */
#define CAN2RDB (0xE004802C) /* lpc2119\lpc2129\lpc2292\lpc2294 only */
#define CAN2TFI1 (0xE0048030) /* lpc2119\lpc2129\lpc2292\lpc2294 only */
#define CAN2TID1 (0xE0048034) /* lpc2119\lpc2129\lpc2292\lpc2294 only */
#define CAN2TDA1 (0xE0048038) /* lpc2119\lpc2129\lpc2292\lpc2294 only */
#define CAN2TDB1 (0xE004803C) /* lpc2119\lpc2129\lpc2292\lpc2294 only */
#define CAN2TFI2 (0xE0048040) /* lpc2119\lpc2129\lpc2292\lpc2294 only */
#define CAN2TID2 (0xE0048044) /* lpc2119\lpc2129\lpc2292\lpc2294 only */
#define CAN2TDA2 (0xE0048048) /* lpc2119\lpc2129\lpc2292\lpc2294 only */
#define CAN2TDB2 (0xE004804C) /* lpc2119\lpc2129\lpc2292\lpc2294 only */
#define CAN2TFI3 (0xE0048050) /* lpc2119\lpc2129\lpc2292\lpc2294 only */
#define CAN2TID3 (0xE0048054) /* lpc2119\lpc2129\lpc2292\lpc2294 only */
#define CAN2TDA3 (0xE0048058) /* lpc2119\lpc2129\lpc2292\lpc2294 only */
#define CAN2TDB3 (0xE004805C) /* lpc2119\lpc2129\lpc2292\lpc2294 only */
#define CAN3MOD (0xE004C000) /* lpc2119\lpc2129\lpc2292\lpc2294 only */
#define CAN3CMR (0xE004C004) /* lpc2119\lpc2129\lpc2292\lpc2294 only */
#define CAN3GSR (0xE004C008) /* lpc2119\lpc2129\lpc2292\lpc2294 only */
#define CAN3ICR (0xE004C00C) /* lpc2119\lpc2129\lpc2292\lpc2294 only */
#define CAN3IER (0xE004C010) /* lpc2119\lpc2129\lpc2292\lpc2294 only */
#define CAN3BTR (0xE004C014) /* lpc2119\lpc2129\lpc2292\lpc2294 only */
#define CAN3EWL (0xE004C01C) /* lpc2119\lpc2129\lpc2292\lpc2294 only */
#define CAN3SR (0xE004C020) /* lpc2119\lpc2129\lpc2292\lpc2294 only */
#define CAN3RFS (0xE004C024) /* lpc2119\lpc2129\lpc2292\lpc2294 only */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -