⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 lpc213xdef.h

📁 基于LPC213X的GPS应用及使用状态机解码。全面替代LPC213x.h, 展示结构指针在ARM之特殊寄存器应用,特殊寄存器变量可在WATCH窗口中显示,为软件仿真提供最大的方便。
💻 H
📖 第 1 页 / 共 4 页
字号:
#define AMRDOM   3//为1 时,日期(月)值不与报警寄存器比较。
#define AMRDOW   4//为1 时,星期值不与报警寄存器比较。
#define AMRDOY   5//为1 时,日期(年)值不与报警寄存器比较。
#define AMRMON   6//为1 时,月值不与报警寄存器比较。
#define AMRYEAR  7//为1 时,年值不与报警寄存器比较。

/*---------------------------------------
        TX中断寄存器TXIR位定义
----------------------------------------*/
#define MR0      0//匹配通道0中断标志
#define MR1      1//匹配通道1中断标志
#define MR2      2//匹配通道2中断标志
#define MR3      3//匹配通道3中断标志
#define CR0      4//捕获通道0事件中断标志
#define CR1      5//捕获通道0事件中断标志
#define CR2      6//捕获通道0事件中断标志
#define CR3      7//捕获通道0事件中断标志

/*---------------------------------------
        UARTx标识中断寄存器UXIIR
----------------------------------------*/
#define IIR0     0//中断挂起 0:至少有1个中断被挂起(挂起的中断可通过UXIER3:1确定)
#define IIR1     1//中断标识1
#define IIR2     2//中断标识2
#define IIR3     3//中断标识3

/*---------------------------------------
        UARTx线状态寄存器UXLSR
----------------------------------------*/
#define RDR      0//接收数据就绪
#define OE	     1//溢出错误
#define PE	     2//奇偶错误
#define FE	     3//帧错误
#define BI	     4//间隔中断
#define THRE     5//发送保持寄存器空
#define TEMT     6//发送器空
#define RXFE     7//Rx FIFO错误

/*--------------------------------------------
        I2C控制置位寄存器I2CONSET位定义
---------------------------------------------*/
#define AA       2//应答标志。
#define SI       3//I2C中断标志。
#define STO      4//停止标志。
#define STA      5//起始标志。
#define I2EN     6//I2C接口使能。

/*--------------------------------------------
        I2C控制清零寄存器I2CONCLR位定义
---------------------------------------------*/
#define AAC      2//应答标志。
#define SIC      3//I2C中断标志。
#define STAC     5//起始标志。
#define I2ENC    6//I2C接口使能。

/*---------------------------------------
        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//在SLA+R/W或数据字节丢失仲裁

/* Master Receiver */				  //主接收器模式
#define I2C_MR_ARB_LOST		      0x38//在非ACK位中丢失仲裁
#define I2C_MR_SLA_ACK		      0x40//已发送SLA+R,且已接收ACK
#define I2C_MR_SLA_NACK		      0x48//已发送SLA+R,且未接收ACK
#define I2C_MR_DATA_ACK		      0x50//已接受数据字节,且已返回ACK
#define I2C_MR_DATA_NACK	      0x58//已接受数据字节,且未返回ACK

/* Slave Transmitter */               //从发送器模式
#define I2C_ST_SLA_ACK	     	  0xA8//已接收自身SLA+R,且已返回ACK
#define I2C_ST_ARB_LOST_SLA_ACK	  0xB0//主控器时在SLA+R/W中丢失仲裁,已接收自身SLA+R,且已返回ACK
#define I2C_ST_DATA_ACK		      0xB8//已发送I2DAT 中的数据字节,且已返回ACK
#define I2C_ST_DATA_NACK	      0xC0//已发送I2DAT 中的数据字节,且未返回ACK
#define I2C_ST_LAST_DATA	      0xC8//已发送I2DAT 中最后的数据字节(AA = 0),且已返回ACK

/* Slave Receiver */				  //从接收器模式
#define I2C_SR_SLA_ACK		      0x60//已接收自身SLA+W,且已返回ACK
#define I2C_SR_ARB_LOST_SLA_ACK	  0x68//主控器时在SLA+W中丢失仲裁,已接收自身SLA+W,且已返回ACK
#define I2C_SR_GCALL_ACK	  	  0x70//已接收通用调用地址(00H),且已返回ACK
#define I2C_SR_ARB_LOST_GCALL_ACK 0x78//主控器时在SLA+R/W中丢失仲裁,已接收通用调用地址,且已返回ACK
#define I2C_SR_DATA_ACK		      0x80//前一次寻址使用自身从地址,已接收数据字节,且已返回ACK
#define I2C_SR_DATA_NACK		  0x88//前一次寻址使用自身从地址,已接收数据字节,且未返回ACK
#define I2C_SR_GCALL_DATA_ACK	  0x90//前一次寻址使用通用调用地址,已接收数据字节,且已返回ACK
#define I2C_SR_GCALL_DATA_NACK	  0x98//前一次寻址使用通用调用地址,已接收数据字节,且未返回ACK
#define I2C_SR_STOP		          0xA0//当使用SLV/TRX或SLV/TRX静态寻址时接收到停止条件或重复的起始条件

/* Misc */							  //两种特殊状态
#define I2C_NO_INFO		          0xF8//无可用的相关状态信息,SI = 0
#define I2C_BUS_ERROR		      0x00//由于非法的起始或停止条件,在MST或选择的从收模式中出现总线错误。当外部干扰使I2C模块进入一个未定义的状态时,也会出现00H状态

/*-------------------------------------------
        PWM匹配控制寄存器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//停止

/*---------------------------------------
        PWM控制寄存器PWMPCR位定义
----------------------------------------*/
#define PWMSEL1  1//保留
#define PWMSEL2  2//0:PWM2选择单边沿控制模式,1:PWM2选择双边沿控制模式
#define PWMSEL3  3//0:PWM3选择单边沿控制模式,1:PWM3选择双边沿控制模式
#define PWMSEL4  4//0:PWM4选择单边沿控制模式,1:PWM4选择双边沿控制模式
#define PWMSEL5  5//0:PWM5选择单边沿控制模式,1:PWM5选择双边沿控制模式
#define PWMSEL6  6//0:PWM6选择单边沿控制模式,1:PWM6选择双边沿控制模式

#define PWMENA1  9//0:禁止PWM1输出,1:使能PWM1输出
#define PWMENA2  10//0:禁止PWM2输出,1:使能PWM2输出
#define PWMENA3  11//0:禁止PWM3输出,1:使能PWM3输出
#define PWMENA4  12//0:禁止PWM4输出,1:使能PWM4输出
#define PWMENA5  13//0:禁止PWM5输出,1:使能PWM5输出
#define PWMENA6  14//0:禁止PWM6输出,1:使能PWM6输出

/*-------------------------------------------
        PWM锁存使能寄存器PWMLER位定义
--------------------------------------------*/
#define PWMLER0  0//使能PWM匹配0锁存
#define PWMLER1  1//使能PWM匹配1锁存
#define PWMLER2  2//使能PWM匹配2锁存
#define PWMLER3  3//使能PWM匹配3锁存
#define PWMLER4  4//使能PWM匹配4锁存
#define PWMLER5  5//使能PWM匹配5锁存
#define PWMLER6  6//使能PWM匹配6锁存

/*---------------------------------------
        A/D控制寄存器ADCR位定义
----------------------------------------*/
#define ADSEL       0//7:0=0000000 输入通道选择
#define ADCLKDIV    8//15:8=00000000 时钟分频
#define ADBURST    16//突发模式
#define ADCLKS     17//19:17=000 突发模式时钟选择
#define ADPDN      21//掉电
#define ADTEST     22//23:22=00	器件测试
#define ADSTART    24//26:24=000 启动控制
#define ADEDGE     27//边沿选择

/*-----------------------------------------
        A/D 数据寄存器ADDR位定义
-------------------------------------------*/
#define ADV_Vref    6//15:6 
#define ADCHN      24//26:24 LS位的转换通道
#define ADOVERUN   30//
#define ADDONE     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状态寄存器S0SPSR位定义
------------------------------------------*/
#define SSPTFE      0//发送FIFO 空。发送FIFO 为空时该位为1,反之为0。
#define SSPTNF      1//发送FIFO 未满。Tx FIFO 满时该位为0,反之为1。
#define SSPRNE      2//接收FIFO 不为空。接收FIFO 为空时该位为0,反之为1。
#define SSPRFF      3//接收FIFO 满。接收FIFO 满时该位为1,反之为0。
#define SSPBSY      4//忙。SSP 控制器空闲、

/*-----------------------------------------
        SPI控制寄存器S0SPCR位定义
------------------------------------------*/
#define SPICPHA     3//时钟相位控制
#define SPICPOL     4//时钟极性控制
#define SPIMSTR     5//主模式选择。为1时,SPI处于主模式。为0时,SPI处于从模式。
#define SPILSBF     6//传输的每个字节的移动方向.为0 时,SPI数据传输MSB(位7)在先
#define SPISPIE     7//中断使能。为1时,每次SPIF或MODF置位时都会产生硬件中断

/*-----------------------------------------
        SPI 状态寄存器S0SPSR位定义
------------------------------------------*/
#define SPIABRT     3//从机中止。该位为1 时表示发生了从机中止。当读取该寄存器时,该位清零
#define SPIMODF     4//模式错误。为1 时表示发生了模式错误。
#define SPIROVR     5//读溢出。为1 时表示发生了读溢出。当读取该寄存器时,该位清零。
#define SPIWCOL     6//写冲突。为1 时表示发生了写冲突
#define SPISPIF     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决定)。

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -