S3c2440中断学习
2016-06-24 16:06
155 查看
中断功能在单片机上一直在用,今天学习在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.如果用到其他也要清零。
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.如果用到其他也要清零。
相关文章推荐
- w3c技术架构介绍
- sed编辑器(二)
- 汇编语言中的常数
-  |"|&|<|>等html字符转义
- 华为荣耀3c刷recovery
- 淘宝分析(附颜色取色表)
- 《Linux驱动》iTop4412开发板LCD驱动 详细分析 (一)
- 数据备份与恢复软件要强制认证
- 华为荣耀3C彻底root的方法
- 3C产品和3C认证
- div css用float时引起背景不正常显示的解决办法
- Sublime Text3注册码(可用)
- vs2010,2013c++代码格式化
- FL2440添加自带led驱动
- 通关!游戏设计之道的学习笔记(五)3C
- 2017世界云计算日·中国站
- 精通 CSS+DIV 网页样式与布局 142
- 精通 CSS+DIV 网页样式与布局 141
- 翻盖+可折叠屏设计!Moto新RAZR“妖刀”渲染图惊艳曝光
- 2000块预算买啥手机?这四款值得入手!