S3c2440中断学习

中断功能在单片机上一直在用,今天学习在2440上用外部中断的方式,实现按键检测功能。
1. 中断生命周期:中断源,中断过滤,中断处理
1.1 中断源:2440有60个中断源。
1.2 中断过滤:
这里写图片描述
有两个关卡,SUBMASK和MASK,中断方式有mode控制。
1.3 中断处理:
非向量方式:2440
向量方式:6410,120
下面介绍非向量处理方式:
这里写图片描述
下面介绍向量处理方式:
这里写图片描述
2.写中断程序
先把程序模块化定义一个main.c调用其他文件内函数,led.c, interrupt.c,mmu.c,
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
mmu.c不是全部代码,因为是mmu的设置,这在上一节中写过。
接下来更改start.s文件的irp:,当芯片遇到中断就会先跳到这条指令上。这指令应该保存全部寄存器,以便后期恢复。

这里写图片描述
通过intoffset寄存器判断哪个中断源产生中断,然后点亮对应led指示灯
这里写图片描述
最后清零两个中断寄存器,SRCPND,INTPND.如果用到其他也要清零。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值