LPC2478外部中断

2478的外部中断模型如下

LPC2478的外部中断使用LPC2478的外部中断使用

也就是说,port0和2支持外部中断,EINT0-2是三个独立管脚的中断,而EINT3则是port0和2的所有中断共同拥有的向量

对于port0和2不需要刻意去把引脚配置为中断模式,将他配置到输入模式然后启动中断就可以了,对于独立的中断,配置过程如下

1.      将对应的引脚配置为EINT模式

LPC2478的外部中断使用

2.      mode按照自己的需求设置上拉或者下拉

3.      在系统控制寄存器中对中断模式和中断极性进行配置

LPC2478的外部中断使用

LPC2478的外部中断使用

4.      配置中端,配种中断函数,优先级,使能中断等

 

对于PORT0 与PORT2的中断,其实使用差不多,主要是EINT3的配置

1.      IO口功能选择GPIO

2.      使能管脚的GPIO中断

LPC2478的外部中断使用

3.      接下来配置好eint3中断就可以使用了

 

中断处理的时候,对于eint0-2可以直接处理,对于eint3中的port0和port2中断要进行一次判断,依靠以下三个寄存器

LPC2478的外部中断使用

LPC2478的外部中断使用

LPC2478的外部中断使用


从这三个寄存器可以看到每个引脚的中断状态,从而选择正确的处理方式

具体查看代码即可

 

#ifndef __EXTI_H_
#define __EXTI_H_
#include "common.h"
#include "lpc24xx.h"

extern u8 eint0Count;

extern u8 eint3Count;

void ExtiInit(void);


void GPIOEINT3Init(void);


#endif







 


 

 

在外部中断处理程序中,记得先清除对应的IO口中断

LPC2478的外部中断使用

然后再清除EINT0中断,不能先清除EINT再清除IO口中断(这会导致重复中断)

相关文章: