如果不按照如下设置,中断将无法执行或者无法使下一个中断进入。
/*中断挂起设置,此过程加入到主函数中启动时加载*/
void Eint_wait()
{
rSRCPND=rSRCPND; //中断挂起寄存器清除
rINTPND=rINTPND; //中断源挂起寄存器清除
rEINTPEND|=0x1<<13; //外部中断挂起寄存器,Eint挂起等待中断
rSRCPND=BIT_EINT8_23; //中断源挂起寄存器相应位置1等待中断
rINTPND=BIT_EINT8_23; //中断挂起寄存器相应位置1等待中断
}
/*中断挂起设置结束*/
/*以下为响应中断时的处理过程,为pISR指针中的函数*/
void __irq Eint_Isr(void)
{
if(rEINTPEND == (1<<13)) //判断Eint13有响应时执行如下
{
rGPBDAT=0x0<<6; //led6亮
delay(10000); //说明:由于使用边沿出发方式,故按钮按完后会完成边沿过程,完成后会立刻进入else处理过程中灭灯,肉眼可能无法看出来。为使其见到效果,需要让led亮一会儿!
rEINTPEND=(1<<13); //将中断挂起寄存器Eint13置1等待下一个中断到来,如果不设置下一个中断无法进入
}
else //当不为Eint13时,执行如下
{
rGPBDAT=0x1<<6;
rEINTPEND=(1<<13); //将中断挂起寄存器Eint13置1等待下一个中断到来,如果不设置下一个中断无法进入
}
}
以上两部分为简化了的中断处理过程中的重要内容,可根据输出引脚修改rGPBDAT和rEINTPEND即可使用。其它设置部分不在此说明。
上一篇:三星S3C2440A Nand Flash 映射图
下一篇:S3C2440开发板利用外部中断实现按钮切换不同功能
设计资源 培训 开发板 精华推荐
- LM2596S可调电源
- ADR395B 5V 输出微功率、低噪声精密电压基准的典型应用
- 具有 6uA 反向泄漏电流的 LT1767EMS8E-5 双源电源的典型应用电路
- CAV4109 具有独立 PWM 调光功能的 3 通道恒流 RGB LED 驱动器的典型应用
- MAX2165 DMB-TH USB加密狗参考设计
- SIP78L18AC 三端低电流正压稳压器典型应用
- 双通道PWM脉冲发生器
- 100W, 3.267 to 3.333V DC to DC 单路输出电源,适用于电信电源
- LT8570EMS8E 1.5MHz、5 至 12V 输出升压转换器的典型应用
- LT3663IMS8E 5V 降压转换器的典型应用