1.5.6_按键中断程序示例_完善

发布者:TranquilDreamer最新更新时间:2021-08-13 来源: eefocus关键字:按键中断  指令  地址 手机看文章 扫描二维码
随时随地手机看文章

中对概述和初始化做了初步的介绍,现在来完善整个按键中断程序。


当按键中断发生时,CPU会跳到0x18地址执行,和之前类似,我们通过word让CPU跳到do_irq执行。

在这里插入图片描述

这里的lr_irq保存的是下一条指令的地址+4,所以要先减4再存。

在这里插入图片描述

通过handle_irq_c这个中断处理函数来处理中断,这里我们使用了一个函数指针数组,将各个中断对应的处理函数使用数组来调用。相应的,也增加了注册函数,在初始化中断时进行注册。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

大致处理的流程就是这样。


下面整理一下,首先是设置中断源,然后是初始化相关的中断配置,注册中断处理函数。大致就是这三步。


中断处理完之后,需要清楚中断源和中断标志位,注意从中断源开始从后往前清,不然清了后面的前面又会把后面的设置了。

在这里插入图片描述

关键字:按键中断  指令  地址 引用地址:1.5.6_按键中断程序示例_完善

上一篇:1.5.5_按键中断程序示例_概述与初始化
下一篇:1.5.6_定时器中断程序示例

小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved