当前位置: 首页 > article >正文

第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中断;初始化步骤完成之后,主程序在无限循环中被挂起。

image-20241128100921903

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

image-20241128101223191

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


http://www.kler.cn/a/520483.html

相关文章:

  • 从零开始开发纯血鸿蒙应用之自定义构建函数
  • wordpress被挂码的原因
  • 论文阅读(六):利用基因型信息作为学习基因网络的先验知识
  • 【leetcode100】从前序与中序遍历序列构造二叉树
  • 二级C语言题解:孤独数、找最长子串、返回两数组交集
  • 每日一题-判断是不是完全二叉树
  • 二叉堆--优先级队列和堆排序
  • MySQL(高级特性篇) 12 章——数据库其它调优策略
  • Flink运行时架构
  • Netty框架学习笔记
  • GPU算力平台|在GPU算力平台部署AI虚拟换衣模型(CatVTON)的应用实战教程
  • 模拟电子技术-常用半导体器件
  • RabbitMQ模块新增消息转换器
  • [MySQL]数据库的效率问题与索引的底层原理
  • 人工智能丨Midscene:让UI自动化测试变得更简单
  • 高温环境对电机性能的影响与LabVIEW应用
  • 1.27 保存和加载链表内容
  • 笔试-二维数组2
  • 深入探讨数据库索引类型:B-tree、Hash、GIN与GiST的对比与应用
  • 在AlarmLinux系统中安装KeyDB