📄 lpc213xdef.h
字号:
/*---------------------------------------
I2C运行状态代码定义
----------------------------------------*/
#define I2C_START 0x08 //已发送起始条件
#define I2C_REP_START 0x10 //已发送重复起始条件
/* Master Transmitter */ //主发送器模式
#define I2C_MT_SLA_ACK 0x18 //已发送SLA+W,且已接收ACK
#define I2C_MT_SLA_NACK 0x20 //已发送SLA+W,且未接收ACK
#define I2C_MT_DATA_ACK 0x28 //已发送I2DAT 中的数据字节,且已接收ACK
#define I2C_MT_DATA_NACK 0x30 //已发送I2DAT 中的数据字节,且未接收ACK
#define I2C_MT_ARB_LOST 0x38
/* Master Receiver */ //主接收器模式
#define I2C_MR_ARB_LOST 0x38
#define I2C_MR_SLA_ACK 0x40 //已发送SLA+R,且已接收ACK
#define I2C_MR_SLA_NACK 0x48 //已发送SLA+R,且未接收ACK
#define I2C_MR_DATA_ACK 0x50
#define I2C_MR_DATA_NACK 0x58
/* Slave Transmitter */
#define I2C_ST_SLA_ACK 0xA8
#define I2C_ST_ARB_LOST_SLA_ACK 0xB0
#define I2C_ST_DATA_ACK 0xB8
#define I2C_ST_DATA_NACK 0xC0
#define I2C_ST_LAST_DATA 0xC8
/* Slave Receiver */
#define I2C_SR_SLA_ACK 0x60
#define I2C_SR_ARB_LOST_SLA_ACK 0x68
#define I2C_SR_GCALL_ACK 0x70
#define I2C_SR_ARB_LOST_GCALL_ACK 0x78
#define I2C_SR_DATA_ACK 0x80
#define I2C_SR_DATA_NACK 0x88
#define I2C_SR_GCALL_DATA_ACK 0x90
#define I2C_SR_GCALL_DATA_NACK 0x98
#define I2C_SR_STOP 0xA0
/* Misc */
#define I2C_NO_INFO 0xF8
#define I2C_BUS_ERROR 0x00
/*-------------------------
PWMMCR位定义
--------------------------*/
#define PWMMCRI0 0
#define PWMMCRR0 1
#define PWMMCRS0 2
#define PWMMCRI1 3
#define PWMMCRR1 4
#define PWMMCRS1 5
#define PWMMCRI2 6
#define PWMMCRR2 7
#define PWMMCRS2 8
#define PWMMCRI3 9
#define PWMMCRR3 10
#define PWMMCRS3 11
#define PWMMCRI4 12
#define PWMMCRR4 13
#define PWMMCRS4 14
#define PWMMCRI5 15
#define PWMMCRR5 16
#define PWMMCRS5 17
#define PWMMCRI6 18
#define PWMMCRR6 19
#define PWMMCRS6 20
/*-------------------------
PWMPCR位定义
--------------------------*/
#define PWMSEL1 1
#define PWMSEL2 2
#define PWMSEL3 3
#define PWMSEL4 4
#define PWMSEL5 5
#define PWMSEL6 6
#define PWMENA1 9
#define PWMENA2 10
#define PWMENA3 11
#define PWMENA4 12
#define PWMENA5 13
#define PWMENA6 14
/*--------------------------
PWMLER位定义
---------------------------*/
#define PWMLER0 0
#define PWMLER1 1
#define PWMLER2 2
#define PWMLER3 3
#define PWMLER4 4
#define PWMLER5 5
#define PWMLER6 6
/*--------------------------
ADCR位定义
---------------------------*/
#define BURST 16
#define PDN 21
#define START 24//26:24=000
#define EDGE 27
/*------------------------------------------------
A/D 数据寄存器ADDR位定义
-------------------------------------------------*/
#define OVERUN 30
#define DONE 31//A/D转换结束时该位置位。该位在ADDR被读出和ADCR被写入时清零。
/*-----------------------------------------
复位源识别寄存器RSID位定义
------------------------------------------*/
#define POR 0//RSID.0//POR信号有效时该位置位,并清除RSID寄存器的其它位
#define EXTR 1//RSID.1//RESET信号有效时该位置位
#define WDTR 2//RSID.2//当看门狗定时器溢出和看门狗方式寄存器的WDTRESET位为1时,该位置位。
//该位可被其它任何一个复位源清除。
#define BODR 3//RSID.3//当3.3V的电源降到低于2.6V时该位置位
/*-----------------------------------------
SSP状态寄存器SSPSR位定义
------------------------------------------*/
#define TFE 0//发送FIFO 空。发送FIFO 为空时该位为1,反之为0。
#define TNF 1//发送FIFO 未满。Tx FIFO 满时该位为0,反之为1。
#define RNE 2//接收FIFO 不为空。接收FIFO 为空时该位为0,反之为1。
#define RFF 3//接收FIFO 满。接收FIFO 满时该位为1,反之为0。
#define BSY 4//忙。SSP 控制器空闲、
/*-----------------------------------------
S0SPCR位定义
------------------------------------------*/
#define CPHA 3//时钟相位控制
#define CPOL 4//时钟极性控制
#define MSTR 5//主模式选择。为1时,SPI处于主模式。为0时,SPI处于从模式。
#define LSBF 6//传输的每个字节的移动方向.为0 时,SPI数据传输MSB(位7)在先
#define SPIE 7//中断使能。为1时,每次SPIF或MODF置位时都会产生硬件中断
/*-----------------------------------------
SPI 状态寄存器S0SPSR位定义
------------------------------------------*/
#define ABRT 3//从机中止。该位为1 时表示发生了从机中止。当读取该寄存器时,该位清零
#define MODF 4//模式错误。为1 时表示发生了模式错误。
#define ROVR 5//读溢出。为1 时表示发生了读溢出。当读取该寄存器时,该位清零。
#define WCOL 6//写冲突。为1 时表示发生了写冲突
#define SPIF 7//SPI 传输完成标志。为1 时表示一次SPI 数据传输完成。
/*-----------------------------------------
功率控制寄存器PCON位定义
------------------------------------------*/
#define IDL 0//空闲模式
#define PD 1//掉电模式
#define PDBOD 2//空闲模式
/*-----------------------------------------
外设功率控制寄存器PCONP位定义
------------------------------------------*/
#define PCTIM0 1//定时器0使能
#define PCTIM1 2//定时器1使能
#define PCURT0 3//UART0使能
#define PCURT1 4//UART1使能
#define PCPWM0 5//PWM0使能
#define PCI2C0 7//I2C0接口使能
#define PCSPI0 8//SPI接口使能
#define PCRTC 9//RTC使能
#define PCSPI1 10//SSP接口使能
#define PCAD0 12//A/D转换器0使能
#define PCI2C1 19//I2C1接口使能
#define PCAD1 20//A/D转换器1使能
/*-----------------------------------------
WDMOD位定义
------------------------------------------*/
#define WDEN 0//
#define WDRESET 1//
#define WDTOF 2//
#define WDINT 3//
/*-----------------------------------------
PLL 控制寄存器位定义
------------------------------------------*/
#define PLLEN 0//PLL 使能
#define PLLLK 1//PLL 连接
/*-----------------------------------------
PLL 状态寄存器位定义
------------------------------------------*/
#define PLLE 8//PLL 使能位
#define PLLC 9//PLL 连接位
#define PLOCK 10//PLL 锁定状态
/*--------------------------------------------------
外部中断标志寄存器EXTINT位定义
---------------------------------------------------*/
#define EINT0 0//EXTINT.0//写'1'清除EINT0中断标志
#define EINT1 1//EXTINT.1//写'1'清除EINT1中断标志
#define EINT2 2//EXTINT.2//写'1'清除EINT2中断标志
#define EINT3 3//EXTINT.3//写'1'清除EINT3中断标志
/*--------------------------------------------------
外部中断方式寄存器EXTMODE位定义
---------------------------------------------------*/
#define EXTMODE0 0//EXTMODE.0//该位为0时,EINT0使用电平激活;该位为1时,EINT0使用边沿激活。
#define EXTMODE1 1//EXTMODE.1//该位为0时,EINT1使用电平激活;该位为1时,EINT1使用边沿激活。
#define EXTMODE2 2//EXTMODE.2//该位为0时,EINT2使用电平激活;该位为1时,EINT2使用边沿激活。
#define EXTMODE3 3//EXTMODE.3//该位为0时,EINT3使用电平激活;该位为1时,EINT3使用边沿激活。
/*--------------------------------------------------
外部中断极性寄存器EXTPOLAR位定义
---------------------------------------------------*/
#define EXTPOLAR0 0//EXTPOLAR.0//该位为0时,EINT0低电平或下降沿有效(由EXTMODE0决定)。
//该位为1时,EINT0高电平或上升沿有效(由EXTMODE0决定)。
#define EXTPOLAR1 1//EXTPOLAR.1//该位为0时,EINT1低电平或下降沿有效(由EXTMODE1决定)。
//该位为1时,EINT1高电平或上升沿有效(由EXTMODE1决定)。
#define EXTPOLAR2 2//EXTPOLAR.2//该位为0时,EINT2低电平或下降沿有效(由EXTMODE2决定)。
//该位为1时,EINT2高电平或上升沿有效(由EXTMODE2决定)。
#define EXTPOLAR3 3//EXTPOLAR.3//该位为0时,EINT3低电平或下降沿有效(由EXTMODE3决定)。
//该位为1时,EINT3高电平或上升沿有效(由EXTMODE3决定)。
/*--------------------------------------------------
外部中断唤醒寄存器EXTWAKE位定义
---------------------------------------------------*/
#define EXTWAKE0 0//EXTWAKE.0//该位为1时,使能EINT0将处理器从掉电模式唤醒。
#define EXTWAKE1 1//EXTWAKE.1//该位为1时,使能EINT1将处理器从掉电模式唤醒。
#define EXTWAKE2 2//EXTWAKE.2//该位为1时,使能EINT2将处理器从掉电模式唤醒。
#define EXTWAKE3 3//EXTWAKE.3//该位为1时,使能EINT3将处理器从掉电模式唤醒。
#define BODWAKE 14//EXTWAKE.14//该位为1时,BOD中断产生时可将处理器从掉电模式唤醒。
#define RTCWAKE 15//EXTWAKE.15//该位为1时,RTC中断产生时可将处理器从掉电模式唤醒。
/*---------------------------------------------------------------------------------------
GPIO管脚功能配置
应用示例:
PINSEL->PIN_SEL0 |= (P0_0_TXD0 << P0_0_PINSEL) | (P0_1_RXD0 << P0_1_PINSEL);
//选择P0.0和P0.1为UART0的输出输入引脚
PINSEL->PIN_SEL0 |= (P0_3_EINT1 << P0_3_PINSEL); //选择P0.3为INT1外部中断引脚
PINSEL->PIN_SEL0 |= (P0_14_EINT1 << P0_14_PINSEL); //选择P0.14也可为INT1外部中断引脚
PINSEL->PIN_SEL0 |= (P0_1_EINT0 << P0_1_PINSEL) //选择P0.1为INT0外部中断引脚
PINSEL->PIN_SEL1 |= (P0_16_EINT0 << P0_16_PINSEL); //选择P0.16也可为INT0外部中断引脚
------------------------------------------------------------------------------------------*/
#define P0_0_GPIO __0//通用数字输入输出管脚
#define P0_0_TXD0 __1//UART0的发送器输出
#define P0_0_PWM1 __2//脉宽调制器输出1
#define P0_0_PINSEL 2 * P0_0
#define P0_1_GPIO __0//通用数字输入输出管脚
#define P0_1_RXD0 __1//UART0的接收器输入
#define P0_1_PWM3 __2//脉宽调制器输出3
#define P0_1_EINT0 __3//**外部中断0输入
#define P0_1_PINSEL 2 * P0_1
#define P0_2_GPIO __0//通用数字输入输出管脚
#define P0_2_SCL0 __1//I2C0时钟输入/输出。开漏输出(符合I2C规范)
#define P0_2_CAP0_0 __2//***定时器0的捕获输入通道0
#define P0_2_PINSEL 2 * P0_2
#define P0_3_GPIO __0//通用数字输入输出管脚
#define P0_3_SDA0 __1//I2C0数据输入/输出。开漏输出(符合I2C规范)
#define P0_3_MAT0_0 __2//**定时器0的匹配输出通道0
#define P0_3_EINT1 __3//**外部中断1输入
#define P0_3_PINSEL 2 * P0_3
#define P0_4_GPIO __0//通用数字输入输出管脚
#define P0_4_SCK0 __1//SPI0的串行时钟。SPI时钟从主机输出,从机输入
#define P0_4_CAP0_1 __2//**定时器0的捕获输入通道1
#define P0_4_AD0_6 __3//A/D转换器0输入6。该模拟输入总是连接到相应的管脚
#define P0_4_PINSEL 2 * P0_4
#define P0_5_GPIO __0//通用数字输入输出管脚
#define P0_5_MISO0 __1//SPI0主机输入从机输出端。从机到主机的数据传输
#define P0_5_MAT0_1 __2//**定时器0的匹配输出通道1
#define P0_5_AD0_7 __3//A/D转换器0输入7。该模拟输入总是连接到相应的管脚
#define P0_5_PINSEL 2 * P0_5
#define P0_6_GPIO __0//通用数字输入输出管脚
#define P0_6_MOSI0 __1//SPI0主机输出从机输入端。主机到从机的数据传输
#define P0_6_CAP0_2 __2//***定时器0的捕获输入通道2
#define P0_6_AD1_0 __3//A/D转换器1输入0。该模拟输入总是连接到相应的管脚(仅用于 LPC2138)
#define P0_6_PINSEL 2 * P0_6
#define P0_7_GPIO __0//通用数字输入输出管脚
#define P0_7_SSEL0 __1//SPI0从机选择。选择SPI接口用作从机
#define P0_7_PWM2 __2//脉宽调制器输出2
#define P0_7_EINT2 __3//**外部中断2输入
#define P0_7_PINSEL 2 * P0_7
#define P0_8_GPIO __0//通用数字输入输出管脚
#define P0_8_TXD1 __1//UART1的发送器输出
#define P0_8_PWM4 __2//脉宽调制器输出4
#define P0_8_AD1_1 __3//A/D转换器1输入1。该模拟输入总是连接到相应的管脚(仅用于 LPC2138)
#define P0_8_PINSEL 2 * P0_8
#define P0_9_GPIO __0//通用数字输入输出管脚
#define P0_9_RXD1 __1//UART1的接收器输入
#define P0_9_PWM6 __2//脉宽调制器输出6
#define P0_9_EINT3 __3//***外部中断3输入
#define P0_9_PINSEL 2 * P0_9
#define P0_10_GPIO __0//通用数字输入输出管脚
#define P0_10_RTS1 __1//UART1请求发送出端(仅用于LP138)
#define P0_10_CAP1_0 __2//定时器1的捕获输入通道0
#define P0_10_AD1_2 __3//A/D转换器1输入2。该模拟输入总是连接到相应的管脚(仅用于 LPC2138)
#define P0_10_PINSEL 2 * P0_10
#define P0_11_GPIO __0//通用数字输入输出管脚
#define P0_11_CTS1 __1//UART1清除发送入端(仅用于LP138)
#define P0_11_CAP1_1 __2//定时器1的捕获输入通道1
#define P0_11_SCL1 __3//I2C1时钟输入/输。开漏输出(符合I2C规范)
#define P0_11_PINSEL 2 * P0_11
#define P0_12_GPIO __0//通用数字输入输出管脚
#define P0_12_DSR1 __1//UART1数据设置就绪端(仅用于 LPC2138)
#define P0_12_MAT1_0 __2//定时器1的匹配输出通道0
#define P0_12_AD1_3 __3//A/D转换器1输入3。该模拟输入总是连接到相应的管脚(仅用于 LPC2138)
#define P0_12_PINSEL 2 * P0_12
#define P0_13_GPIO __0//通用数字输入输出管脚
#define P0_13_DTR1 __1//UART1数据终端就绪
#define P0_13_MAT1_1 __2//定时器1的匹配输出通道1
#define P0_13_AD1_4 __3//A/D转换器1输入4。该模拟输入总是连接到相应的管脚(仅用于 LPC2138)
#define P0_13_PINSEL 2 * P0_13
#define P0_14_GPIO __0//通用数字输入输出管脚
#define P0_14_DCD1 __1//UART1数据载波检测输入(仅用于 LPC2138)
#define P0_14_EINT1 __2//**外部中断1输入
#define P0_14_SDA1 __3//I2C1数据输入/输出。开漏输出(符合I2C规范)
#define P0_14_PINSEL 2 * P0_14
#define P0_15_GPIO __0//通用数字输入输出管脚
#define P0_15_RI1 __1//UART1铃响指示输入(仅用于 LPC2138)
#define P0_15_EINT2 __2//**外部中断2输入
#define P0_15_AD1_5 __3//A/D转换器1输入5。该模拟输入总是连接到相应的管脚(仅用于 LPC2138)
#define P0_15_PINSEL 2 * P0_15
#define P0_16_GPIO __0//通用数字输入输出管脚
#define P0_16_EINT0 __1//**外部中断0输入
#define P0_16_MAT0_2 __2//**定时器0的匹配输出通道2
#define P0_16_CAP0_2 __3//***定时器0的捕获输入通道2
#define P0_16_PINSEL 2 * P0_0
#define P0_17_GPIO __0//通用数字输入输出管脚
#define P0_17_CAP1_2 __1//**定时器1的捕获输入通道2
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -