第26篇 基于ARM A9处理器用C语言实现中断<二>

Q:基于ARM A9处理器怎样编写C语言工程,使用按键中断将数字显示在七段数码管上呢?

**A:**基本原理:主程序需要首先调用子程序set_A9_IRQ_stack()初始化IRQ模式的ARM A9堆栈指针;然后主程序调用子程序config_GIC()初始化通用中断控制器(GIC)以及config_KEYs()初始化按键端口来产生中断。最后调用子程序enable_A9_interrupts()取消屏蔽ARM处理器中的IRQ中断;初始化步骤完成之后,主程序在无限循环中被挂起。

另外创建interrupt_ID.h、exceptions.c、pushbutton_ISR.c以及defines.h代码程序,并将exceptions.c和pushbutton_ISR.c添加到工程中。

编译下载程序到DE1-SoC开发板上:按下KEY0 后,HEX0 上会显示数字0;再按一次KEY0 ,HEX0显示为空白;按KEY1、KEY2和KEY3会显示数字1、2、3。

相关推荐
·present·4 小时前
CSAPP(Bomb lab)
c语言·c++
szxinmai主板定制专家4 小时前
X86 工控机 vs RK3588 异构主控:AMR 控制器 BOM、散热、长期运维对比
运维·stm32·单片机·嵌入式硬件·fpga开发·am62x
wuminyu8 小时前
Java字节码学习总结:字节码如何加载、解析和执行
java·linux·c语言·jvm·c++
图灵-M12 小时前
【数据结构】静态 & 动态顺序表
c语言·数据结构·笔记
揽星河..12 小时前
【C语言】数组
c语言·开发语言·算法
水饺编程12 小时前
第2章:Linux 基础,制作【.tar.xz】压缩包文件
linux·c语言·汇编
揽星河..13 小时前
【C语言】函数
c语言·算法
Navigator_Z16 小时前
LeetCode //C - 1311. Get Watched Videos by Your Friends
c语言·算法·leetcode
szxinmai主板定制专家17 小时前
AMR 项目落地:机器人控制器硬件定制化需求复盘
arm开发·单片机·fpga开发·系统架构·机器人·am62x
可乐_不渴17 小时前
# C语言文件操作全解析:从 fopen 到 fclose,一文吃透文件 IO
linux·服务器·c语言