关于mini2440按键中断的配置

在本文我们以按键中断为例(其他中断差不多配置方法):

 

一:首先我们应该按键初始化,

从上图中可以看到,按键外部中断分别是EINT8,EINT11,EINT13,EINT14,EINT15,EINT19. 对应的GPIO口是GPG0,GPG3,GPG5,GPG6,GPG7,GPG11.

将对应的IO口设置为中断功能.

二.中断初始化.

1.cpsr中相应的irq位使能.

2.使中断模式为irq模式.

3.开启相应的中断.

4.开启相应的外部中断.

#define INTBIT ((1<<8)|(1<<11)|(1<<13)|(1<<14)|(1<<15)|(1<<19))

三.中断处理函数.

1.判断相应的中断源.(判断INTOFFSET寄存器:The value in the interrupt offset register shows which interrupt of IRQ mode in the INTPND register,This bit can be cleared automatically by clearingSRCPND and INTPND).

2.判断中断源的具体中断:(判断EINTPEND寄存器).

然后根据中断源的具体中断做不同的事.

每一次中断结束后都应该清除中断.(SRCPND,INTPND寄存器).

在主函数里面调用init_irq(),中断处理函数handle_irq()应该装载到相应的地方.

 

特别注意:中断处理函数handle_irq()前面应该加上__irq,如果没有加的话,中断就出不来,因为编译器识别这个。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值