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

📄 lpc213xdef.h

📁 PXA270穿口里程
💻 H
📖 第 1 页 / 共 3 页
字号:
/*-----------------------------------------------------------
文   件   名 :  LPC213XDEF.H
创   建   人 :  ARM水鸟  HotPower@126.com
创 建 日  期 :  2005.7.23   0:38
最近修改日期 :  2006.2.14  18:18 
创 建  地 点 : 西安大雁塔村队部
版   本   号 : V1.03 (情人节修改版)
说        明 : 已经过硬件调试
                由于在不断更新中,故新旧版本以修改日期为准
备        注 : 由此文件出现的问题,ARM水鸟不负任何责任

修 改  原 因 : 结构指针在ARM之特殊寄存器应用
                给软件仿真提供方便。
修 改  效 果 : 尽量符合常用的书写习惯。

修 改  想 法  : 增加“烦恼”
-----------------------------------------------------------*/


#ifndef __LPC213xDEF_H
#define __LPC213xDEF_H

typedef unsigned char  uint8; //无符号8位整型变量
typedef signed   char  int8;  //有符号8位整型变量
typedef unsigned short uint16;//无符号16位整型变量
typedef signed   short int16; //有符号16位整型变量
typedef unsigned int   uint32;//无符号32位整型变量
typedef signed   int   int32; //有符号32位整型变量
typedef float          fp32;  //单精度浮点数(32位长度
typedef double         fp64;  //双精度浮点数(64位长度)



#define VICIntSel_Watchdog   0//看门狗中断(WDINT)
#define VICIntSel_SoftInt1   1//保留给软件中断
#define VICIntSel_DbgCommRx  2//ARM内核中断
#define VICIntSel_DbgCommTx  3//ARM内核中断
#define VICIntSel_Time0      4//定时器0中断
#define VICIntSel_Time1      5//定时器1中断
#define VICIntSel_UART0      6//UART0中断
#define VICIntSel_UART1      7//UART1中断
#define VICIntSel_PWM0       8//PWM0中断
#define VICIntSel_I2C0       9//I2C0中断
#define VICIntSel_SPI0      10//SPI0中断
#define VICIntSel_SSP       11//SSP中断
#define VICIntSel_SPI1      11//SPI1中断
#define VICIntSel_PLL       12//PLL中断
#define VICIntSel_RTC       13//RTC中断
#define VICIntSel_EINT0     14//系统控制外部中断0
#define VICIntSel_EINT1     15//系统控制外部中断1
#define VICIntSel_EINT2     16//系统控制外部中断2
#define VICIntSel_EINT3     17//系统控制外部中断3
#define VICIntSel_ADC0      18//A/D转换器0中断
#define VICIntSel_I2C1      19//I2C1中断
#define VICIntSel_BOD       20//掉电检测中断
#define VICIntSel_ADC1      21//A/D转换器1中断
#define VICIntSel_SoftInt22 22//保留给软件中断
#define VICIntSel_SoftInt23 23//保留给软件中断
#define VICIntSel_SoftInt24 24//保留给软件中断
#define VICIntSel_SoftInt25 25//保留给软件中断
#define VICIntSel_SoftInt26 26//保留给软件中断
#define VICIntSel_SoftInt27 27//保留给软件中断
#define VICIntSel_SoftInt28 28//保留给软件中断
#define VICIntSel_SoftInt29 29//保留给软件中断
#define VICIntSel_SoftInt30 30//保留给软件中断
#define VICIntSel_SoftInt31 31//保留给软件中断
#define VICIntSel_Enable    32//使能向量中断

/*应用示例
  VICVectCntl0   = VICIntSel_Enable//使能IRQ中断
                 | VICIntSel_EINT0;//获取EINT0的IRQ级别
  VICVectAddr0   = (long) IRQ_Eint0;//取INT0中断服务地址
  VICIntEnable   = (1 << VICIntSel_EINT0); //使能EINT0中断
*/

/*
  P0口GPIO位寻址位定义
*/

#define P0_0   0//P0.0
  #define TXD0    P0_0//UART0的发送器输出
  #define PWM1    P0_0//脉宽调制器输出1
#define P0_1   1//P0.1
  #define RXD0    P0_1//UART0的接收器输入
  #define PWM3    P0_1//脉宽调制器输出3
#define P0_2   2//P0.2
  #define SCL0    P0_2//I2C0时钟输入/输出。开漏输出(符合I2C规范)
#define P0_3   3//P0.3
  #define SDA0    P0_3//I2C0数据输入/输出。开漏输出(符合I2C规范)
#define P0_4   4//P0.4
  #define SCK0    P0_4//SPI0的串行时钟。SPI时钟从主机输出,从机输入
  #define AD0_6   P0_4//A/D转换器0输入6。该模拟输入总是连接到相应的管脚
#define P0_5   5//P0.5
  #define MISO0   P0_5//SPI0主机输入从机输出端。从机到主机的数据传输
  #define AD0_7   P0_5//A/D转换器0输入7。该模拟输入总是连接到相应的管脚
#define P0_6   6//P0.6
  #define MOSI0   P0_6//SPI0主机输出从机输入端。主机到从机的数据传输
  #define AD1_0   P0_6//A/D转换器1输入0。该模拟输入总是连接到相应的管脚(仅用于 LPC2138)
#define P0_7   7//P0.7
  #define SSEL0   P0_7//SPI0从机选择。选择SPI接口用作从机
  #define PWM2    P0_7//脉宽调制器输出2
#define P0_8   8//P0.8
  #define TXD1    P0_8//UART1的发送器输出
  #define PWM4    P0_8//脉宽调制器输出4
  #define AD1_1   P0_8//A/D转换器1输入1。该模拟输入总是连接到相应的管脚(仅用于 LPC2138)
#define P0_9   9//P0.9
  #define RXD1    P0_9//UART1的接收器输入
  #define PWM6    P0_9//脉宽调制器输出6
#define P0_10 10//P0.10
  #define RTS1    P0_10//UART1请求发送出端(仅用于LP138)
  #define CAP1_0  P0_10//定时器1的捕获输入通道0
  #define AD1_2   P0_10//A/D转换器1输入2。该模拟输入总是连接到相应的管脚(仅用于 LPC2138)
#define P0_11 11//P0.11
  #define CTS1    P0_11//UART1清除发送入端(仅用于LP138)
  #define CAP1_1  P0_11//定时器1的捕获输入通道1
  #define SCL1    P0_11//I2C1时钟输入/输。开漏输出(符合I2C规范)
#define P0_12 12//P0.12
  #define DSR1    P0_12//UART1数据设置就绪端(仅用于 LPC2138)
  #define MAT1_0  P0_12//定时器1的匹配输出通道0
  #define AD1_3   P0_12//A/D转换器1输入3。该模拟输入总是连接到相应的管脚(仅用于 LPC2138)
#define P0_13 13//P0.13
  #define DTR1    P0_13//UART1数据终端就绪
  #define MAT1_1  P0_13//定时器1的匹配输出通道1
  #define AD1_4   P0_13//A/D转换器1输入4。该模拟输入总是连接到相应的管脚(仅用于 LPC2138)
#define P0_14 14//P0.14
  #define DCD1    P0_14//UART1数据载波检测输入(仅用于 LPC2138)
  #define SDA1    P0_14//I2C1数据输入/输出。开漏输出(符合I2C规范)
#define P0_15 15//P0.15
  #define RI1     P0_15//UART1铃响指示输入(仅用于 LPC2138)
  #define AD1_5   P0_15//A/D转换器1输入5。该模拟输入总是连接到相应的管脚(仅用于 LPC2138)
#define P0_16 16//P0.16

#define P0_17 17//P0.17
  #define SCK1    P0_17//SPI1的串行时钟。SPI时钟从主机输出,从机输入
#define P0_18 18//P0.18
  #define MISO1   P0_18//SPI1主机输入从机输出端。从机到主机的数据传输
#define P0_19 19//P0.19
  #define MOSI1   P0_19//SPI1主机输出从机输入端。主机到从机的数据传输
#define P0_20 20//P0.20
  #define SSEL1   P0_20//SPI1从机选择。选择SPI接口用作从机
#define P0_21 21//P0.21
  #define PWM5    P0_21//脉宽调制器输出5
  #define AD1_6   P0_21//A/D转换器1输入6。该模拟输入总是连接到相应的管脚(仅用于 LPC2138)
#define P0_22 22//P0.22
  #define AD1_7   P0_22//A/D转换器1输入7。该模拟输入总是连接到相应的管脚(仅用于 LPC2138)
#define P0_23 23//P0.23
#define P0_24 24//P0.24
#define P0_25 25//P0.25
  #define AD0_4   P0_25//A/D转换器0输入4。该模拟输入总是连接到相应的管脚.D/A 转换器输出(仅用于 LPC2138)
#define P0_26 26//P0.26
  #define AD0_5   P0_26//A/D转换器0输入5。该模拟输入总是连接到相应的管脚
#define P0_27 27//P0.27
  #define AD0_0   P0_27//A/D转换器0输入0。该模拟输入总是连接到相应的管脚
#define P0_28 28//P0.28
  #define AD0_1   P0_28//A/D转换器0输入1。该模拟输入总是连接到相应的管脚
#define P0_29 29//P0.29
  #define AD0_2   P0_29//A/D转换器0输入2。该模拟输入总是连接到相应的管脚
  #define CAP0_3  P0_29//定时器0的捕获输入通道3
  #define MAT0_3  P0_29//定时器0的匹配输出通道3
#define P0_30 30//P0.30
  #define AD0_3   P0_30//A/D转换器0输入3。该模拟输入总是连接到相应的管脚
#define P0_31 31//P0.31

/*
  P1口GPIO位寻址位定义
*/

#define P1_0   0//P1.0
#define P1_1   1//P1.1
#define P1_2   2//P1.2
#define P1_3   3//P1.3
#define P1_4   4//P1.4
#define P1_5   5//P1.5
#define P1_6   6//P1.6
#define P1_7   7//P1.7
#define P1_8   8//P1.8
#define P1_9   9//P1.9
#define P1_10 10//P1.10
#define P1_11 11//P1.11
#define P1_12 12//P1.12
#define P1_13 13//P1.13
#define P1_14 14//P1.14
#define P1_15 15//P1.15
#define P1_16 16//P1.16
#define P1_17 17//P1.17
#define P1_18 18//P1.18
#define P1_19 19//P1.19
#define P1_20 20//P1.20
#define P1_21 21//P1.21
#define P1_22 22//P1.22
#define P1_23 23//P1.23
#define P1_24 24//P1.24
#define P1_25 25//P1.25
#define P1_26 26//P1.26
#define P1_27 27//P1.27
#define P1_28 28//P1.28
#define P1_29 29//P1.29
#define P1_30 30//P1.30
#define P1_31 31//P1.31

/*
  外部中断标志寄存器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管脚功能配置
应用示例:
  PINSEL0 	     |= (P0_0_TXD0 << P0_0_PINSEL) | (P0_1_RXD0 << P0_1_PINSEL); //选择P0.0和P0.1为UART0的输出输入引脚

  PINSEL0 	     |= (P0_3_EINT1 << P0_3_PINSEL); //选择P0.3为INT1外部中断引脚
  PINSEL0 	     |= (P0_14_EINT1 << P0_14_PINSEL); //选择P0.14也可为INT1外部中断引脚

⌨️ 快捷键说明

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