📄 lpc213xdef.h
字号:
typedef struct _LPCS_VIC {
LPC_REG IRQStatus;//IRQ 状态寄存器
LPC_REG FIQStatus;//FIQ 状态请求
LPC_REG RawIntr;//所有中断的状态寄存器
LPC_REG IntSelect;//中断选择寄存器
LPC_REG IntEnable;//中断使能寄存器
LPC_REG IntEnClr;//中断使能清零寄存器
LPC_REG SoftInt;//软件中断寄存器
LPC_REG SoftIntClr;//软件中断清零寄存器
LPC_REG Protection;//保护使能寄存器
LPC_REG Reserved1[3]; //保留3个空位
LPC_REG VectAddr;//向量地址寄存器
LPC_REG DefVectAddr;//默认向量地址寄存器
LPC_REG Reserved2[2]; //保留2个空位
LPC_REG Reserved3[48];//保留48个空位
LPC_REG VectAddrs[16];//向量地址寄存器,VICVectAddr0~VICVectAddr15
LPC_REG Reserved4[48];//保留48个空位
LPC_REG VectCntls[16];//向量控制寄存器,VICVectCntl0~VICVectCntl15
}LPCS_VIC, *LPCPS_VIC;
#define LPC_BASE_VIC ((LPCPS_VIC) 0xFFFFF000)//定义硬件结构指针(硬件地址)
const LPCPS_VIC VIC = LPC_BASE_VIC;//定义全局结构指针变量
typedef struct _LPCS_PINSEL {
LPC_REG PIN_SEL0;//管脚功能选择寄存器0
LPC_REG PIN_SEL1;//管脚功能选择寄存器1
LPC_REG Reserved[4]; //保留4个空位
LPC_REG PIN_SEL2;//管脚功能选择寄存器2
}LPCS_PINSEL, *LPCPS_PINSEL;
#define LPC_BASE_PINSEL ((LPCPS_PINSEL) 0xE002C000)//定义硬件结构指针(硬件地址)
const LPCPS_PINSEL PINSEL = LPC_BASE_PINSEL;//定义全局结构指针变量PINSEL
typedef struct _LPCS_MAM {
LPC_REG MAM_CR;//存储器加速器模块控制寄存器
LPC_REG MAM_TIM;//存储器加速器定时控制
LPC_REG Reserved[14]; //保留14个空位
LPC_REG MEM_MAP;//存储器映射控制
}LPCS_MAM, *LPCPS_MAM;
#define LPC_BASE_MAM ((LPCPS_MAM) 0xE01FC000)//定义硬件结构指针(硬件地址)
const LPCPS_MAM MAM = LPC_BASE_MAM;//定义全局结构指针变量MAM
typedef struct _LPCS_PLL {//锁相环
LPC_REG PLL_CON;//PLL 控制寄存器
LPC_REG PLL_CFG;//PLL 配置寄存器
LPC_REG PLL_STAT;//PLL 状态寄存器
LPC_REG PLL_FEED;//PLL 愦送寄存器
}LPCS_PLL, *LPCPS_PLL;
#define LPC_BASE_PLL ((LPCPS_PLL) 0xE01FC080)//定义硬件结构指针(硬件地址)
const LPCPS_PLL PLL = LPC_BASE_PLL;//定义全局结构指针变量PLL
typedef struct _LPCS_GPIO {//通用I/O口
LPC_REG IOPIN;//GPIO管脚值寄存器
LPC_REG IOSET;//GPIO输出置位寄存器
LPC_REG IODIR;//GPIO方向寄存器
LPC_REG IOCLR;//GPIO输出清零寄存器
}LPCS_GPIO, *LPCPS_GPIO;
#define LPC_BASE_GPIO0 ((LPCPS_GPIO) 0xE0028000)//定义硬件结构指针(硬件地址)
#define LPC_BASE_GPIO1 ((LPCPS_GPIO) 0xE0028010)//定义硬件结构指针(硬件地址)
const LPCPS_GPIO P0 = LPC_BASE_GPIO0;//定义全局结构指针变量P0
const LPCPS_GPIO P1 = LPC_BASE_GPIO1;//定义全局结构指针变量P1
typedef struct _LPCS_UART {
union {//地址冲突处理
LPC_REG RBR;//接收缓冲
LPC_REG THR;//发送保持
}DATA;//收发数据
LPC_REG IER;//中断使能
union {//地址冲突处理
LPC_REG IIR;//中断ID
LPC_REG FCR;//FIFO控制
}IIFC;
LPC_REG LCR;//线控制
LPC_REG MCR;//Modem控制(只有UART1)
LPC_REG LSR;//线状态
LPC_REG MSR;//Modem状态(只有UART1)
LPC_REG SCR;//高速缓存
LPC_REG DLL;//除数锁存低位
LPC_REG DLM;//除数锁存高位
LPC_REG TER;//发送使能
}LPCS_UART, *LPCPS_UART;
#define LPC_BASE_UART0 ((LPCPS_UART) 0xE000C000)//定义硬件结构指针(硬件地址)
const LPCPS_UART U0 = LPC_BASE_UART0;//定义全局结构指针变量U0
#define LPC_BASE_UART1 ((LPCPS_UART) 0xE0010000)//定义硬件结构指针(硬件地址)
const LPCPS_UART U1 = LPC_BASE_UART1;//定义全局结构指针变量U1
typedef struct _LPCS_TIMER {//定时器
LPC_REG TIMER_IR;//中断寄存器
LPC_REG TIMER_TCR;//定时器控制寄存器
LPC_REG TIMER_TC;//定时器计数器
LPC_REG TIMER_PR;//预分频寄存器
LPC_REG TIMER_PC;//预分频计数器
LPC_REG TIMER_MCR;
LPC_REG TIMER_MR0;
LPC_REG TIMER_MR1;
LPC_REG TIMER_MR2;
LPC_REG TIMER_MR3;
LPC_REG TIMER_CCR;
LPC_REG TIMER_CR0;
LPC_REG TIMER_CR1;
LPC_REG TIMER_CR2;
LPC_REG TIMER_CR3;
LPC_REG TIMER_EMR;
LPC_REG TIMER_CTCR;
}LPCS_TIMER, *LPCPS_TIMER;
#define LPC_BASE_TIMER0 ((LPCPS_TIMER) 0xE0004000)//定义硬件结构指针(硬件地址)
#define LPC_BASE_TIMER1 ((LPCPS_TIMER) 0xE0008000)//定义硬件结构指针(硬件地址)
const LPCPS_TIMER T0 = LPC_BASE_TIMER0;//定义全局结构指针变量T0
const LPCPS_TIMER T1 = LPC_BASE_TIMER1;//定义全局结构指针变量T1
typedef struct _LPCS_PWM {
LPC_REG PWM_IR;//中断寄存器
LPC_REG PWM_TCR;
LPC_REG PWM_TC;
LPC_REG PWM_PR;
LPC_REG PWM_PC;
LPC_REG PWM_MCR;
LPC_REG PWM_MR0;
LPC_REG PWM_MR1;
LPC_REG PWM_MR2;
LPC_REG PWM_MR3;
LPC_REG PWM_MR4;
LPC_REG PWM_MR5;
LPC_REG PWM_MR6;
LPC_REG PWM_PCR;
LPC_REG PWM_LER;
}LPCS_PWM, *LPCPS_PWM;
#define LPC_BASE_PWM ((LPCPS_PWM) 0xE0014000)//定义硬件结构指针(硬件地址)
const LPCPS_PWM PWM = LPC_BASE_PWM;//定义全局结构指针变量PWM
typedef struct _LPCS_I2C {
LPC_REG I2C_CONSET;
LPC_REG I2C_STAT;
LPC_REG I2C_DAT;
LPC_REG I2C_ADR;
LPC_REG I2C_SCLH;
LPC_REG I2C_SCLL;
LPC_REG I2C_CONCLR;
}LPCS_I2C, *LPCPS_I2C;
#define LPC_BASE_I2C0 ((LPCPS_I2C) 0xE001C000)//定义硬件结构指针(硬件地址)
#define LPC_BASE_I2C1 ((LPCPS_I2C) 0xE005C000)//定义硬件结构指针(硬件地址)
const LPCPS_I2C I2C0 = LPC_BASE_I2C0;//定义全局结构指针变量I2C0
const LPCPS_I2C I2C1 = LPC_BASE_I2C1;//定义全局结构指针变量I2C1
typedef struct _LPCS_SPI {
LPC_REG SPI_SPCR;
LPC_REG SPI_SPSR;
LPC_REG SPI_SPDR;
LPC_REG SPI_SPCCR;
LPC_REG Reserved[4]; //保留4个空位
LPC_REG SPI_SPINT;
}LPCS_SPI, *LPCPS_SPI;
#define LPC_BASE_SPI ((LPCPS_SPI) 0xE0020000)//定义硬件结构指针(硬件地址)
const LPCPS_SPI SPI = LPC_BASE_SPI;//定义全局结构指针变量SPI
typedef struct _LPCS_SSP {
LPC_REG SSP_SSPCR0;
LPC_REG SSP_SSPCR1;
LPC_REG SSP_SSPDR;
LPC_REG SSP_SSPSR;
LPC_REG SSP_SSPCPSR;
LPC_REG SSP_SSPIMSC;
LPC_REG SSP_SSPRIS;
LPC_REG SSP_SSPMIS;
LPC_REG SSP_SSPICR;
}LPCS_SSP, *LPCPS_SSP;
#define LPC_BASE_SSP ((LPCPS_SSP) 0xE0068000)//定义硬件结构指针(硬件地址)
const LPCPS_SSP SSP = LPC_BASE_SSP;//定义全局结构指针变量SSP
typedef struct _LPCS_RTC {
LPC_REG RTC_ILR;//中断位置寄存器
LPC_REG RTC_CTC;//时钟节拍计数器
LPC_REG RTC_CCR;//时钟控制寄存器
LPC_REG RTC_CIIR;//计数器递增中断寄存器
LPC_REG RTC_AMR;//报警屏蔽寄存器
LPC_REG RTC_CTIME0;//完整时间寄存器0
LPC_REG RTC_CTIME1;//完整时间寄存器1
LPC_REG RTC_CTIME2;//完整时间寄存器2
LPC_REG RTC_SEC;//秒寄存器
LPC_REG RTC_MIN;//分寄存器
LPC_REG RTC_HOUR;//小时寄存器
LPC_REG RTC_DOM;//日期(月)寄存器
LPC_REG RTC_DOW;//星期寄存器
LPC_REG RTC_DOY;//日期(年)寄存器
LPC_REG RTC_MONTH;//月寄存器
LPC_REG RTC_YEAR;//年寄存器
LPC_REG Reserved[8]; //保留8个空位
LPC_REG RTC_ALSEC;//秒报警值
LPC_REG RTC_ALMIN;//分报警值
LPC_REG RTC_ALHOUR;//小时报警值
LPC_REG RTC_ALDOM;//日期(月)报警值
LPC_REG RTC_ALDOW;//星期报警值
LPC_REG RTC_ALDOY;//日期(年)报警值
LPC_REG RTC_ALMONTH;//月报警值
LPC_REG RTC_ALYEAR;//年报警值
LPC_REG RTC_PREINT;//预分频值,整数部分
LPC_REG RTC_PREFRAC;//预分频值,小数部分
}LPCS_RTC, *LPCPS_RTC;
#define LPC_BASE_RTC ((LPCPS_RTC) 0xE0024000)//定义硬件结构指针(硬件地址)
const LPCPS_RTC RTC = LPC_BASE_RTC;//定义全局结构指针变量RTC
typedef struct _LPCS_WDT {
LPC_REG WDT_WDMOD;//狗模式寄
LPC_REG WDT_WDTC;//看门狗定时器常数寄存器
LPC_REG WDT_WDFEED;//看门狗喂狗寄存器
LPC_REG WDT_WDTV;//看门狗定时器值寄存器
}LPCS_WDT, *LPCPS_WDT;
#define LPC_BASE_WDT ((LPCPS_WDT) 0xE0000000)//定义硬件结构指针(硬件地址)
const LPCPS_WDT WDT = LPC_BASE_WDT;//定义全局结构指针变量WDT
typedef struct _LPCS_ADC {
LPC_REG ADCR;
LPC_REG ADDR;
}LPCS_ADC, *LPCPS_ADC;
#define LPC_BASE_ADC0 ((LPCPS_ADC) 0xE0034000)//定义硬件结构指针(硬件地址)
#define LPC_BASE_ADC1 ((LPCPS_ADC) 0xE0060000)//定义硬件结构指针(硬件地址)
const LPCPS_ADC ADC0 = LPC_BASE_ADC0;//定义全局结构指针变量ADC0
const LPCPS_ADC ADC1 = LPC_BASE_ADC1;//定义全局结构指针变量ADC1
#endif // __LPC213xDEF_H
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -