首页 > 代码库 > s3c2440外部中断

s3c2440外部中断

         上文用到了pwm控制蜂鸣器,实现了蜂鸣器频率的改变,有一点不好就是蜂鸣器一直响,可以用一个交互的方式来关闭蜂鸣器。这里就选择按键,开发板上一共4个按键,对应这4个外部中断EINT0,EINT1,EINT2和EINT4(为什么不是EINT0~3呢,让人蛋疼)

    要使用外部中断,首先要初始化外部中断。外部中断跟外部引脚FG复用。要把相应的引脚配置为中断模式:



    配置完引脚后,还需要配置具体的中断功能。我们要打开某一中断的屏蔽,这样才能响应该中断,相对应的寄存器为INTMSK  有些位对应着多个外部中断;




   由于存在位对应着多个外部中断,如上图 EINT4~7  EINT8~23 对应INTMSK一个屏蔽位,所以要精确打开某一个外部中断就要配置EINTMASK。下图只列出了一部分,对于EINT4~23都适用。





   外部中断也要有一个触发的方式,选择低电平、高电平、上升沿、下降沿触发等方式 ,这个要配置EXTINT寄存器




         如前面博文 gun-ucos s3c2440处理器 中断部分  所述,因为中断来的时候硬件会把SRCPND和INTPND置1,所以需要把相应的位清零(通过置1来清零),对于外部中断还要判断具体是哪个外部中断,这就要看EINTPEND寄存器了。这个寄存器同样也要通过置1来清零。