首页/新闻资讯/正文详情

ARM 裸机开发(5)——从轮询按键到中断

发布时间:2026/11/11 3:45:46 来源:云帆数科 栏目:资讯中心
ARM 裸机开发(5)——从轮询按键到中断
一、轮询方式读按键板子上有三个按键中间是复位左边是低功耗右边是给用户自己用的试验按键。原理图上开关断开时为高电平按下为低电平。按键接在 UART1_CTS_B 这个引脚上默认功能是串口流控要把它复用成 GPIO1_IO18。初始化和点灯一样分四步复用功能低四位写 0101 也就是 ALT5。SION 位为 0表示输入通路由复用功能决定。电气特性配驱动能力、上下拉、转换速率这些。做输入时最要紧的是上拉把 PUS 设成 22K 上拉、PKE 使能否则引脚悬空读数会乱跳。方向把 GDIR 的对应位清零设为输入。时钟打开 CCM_CCGR1GPIO1 整组引脚共用这个时钟门不打开寄存器读写全都无效。运行时直接读数据寄存器判断电平就行。二、轮询的问题在主循环里加一个延时模拟耗时业务会发现按键经常没反应因为 CPU 正忙着延时这期间按下的动作被错过了。这在实时性要求高的场景是致命的比如汽车刹车信号晚几十毫秒就是事故。轮询的本质缺陷是CPU 的时间被业务占满时就没人去看外设了。中断就是为了解决这个问题。三、中断是什么中断是指 CPU 能打断当前正在执行的工作转去处理更紧急的任务处理完再回到原来的位置继续执行。完整流程是中断源发出中断请求CPU 检查是否响应中断、该中断是否被屏蔽检查当前中断的优先级保护现场执行中断服务函数恢复现场。和函数调用的区别在于谁来触发。函数是代码主动调用中断是外设在任意时刻打断你。GPIO 引脚产生的中断属于外部中断。四、GIC 中断控制器GIC 是通用的中断控制器标准Cortex-A7 用的是 GIC V2.0。V2.0 最多可以为 8 个内核提供中断控制i.MX6ULL 只有一个核所以只有 processor 0。每个核可响应 1020 个中断源按编号分三类0 到 15 是 SGI软件中断往 GICD_SGIR 写数据触发多核之间通信常用。16 到 31 是 PPI私有中断每个核独有的。32 到 1019 是 SPI共享中断外设用。这里的 SPI 和 SPI 总线没关系别搞混。GIC 内部由两部分组成Distributor 分发器负责管理所有中断源的使能、优先级和分发CPU Interface 负责把中断送给具体的核。五、中断编号对应关系具体到 i.MX6ULL中断编号有三套必须搞清楚GIC 规范里的编号0 到 1019。参考手册 3.2 节 Cortex-A7 域的中断编号0 到 128。芯片头文件 MCIMX6Y2.h 里 IRQn_Type 枚举0 到 159。三者之间存在偏移写驱动时如果配错了中断号表现是中断永远进不来或者进错函数所以每次都要先确认当前用的是哪一套。六、协处理器 cp15Cortex-A7 有 cp0 到 cp15 共 16 个协处理器其中 cp15 负责存储相关的任务系统控制与配置、MMU 配置管理、Cache 配置管理、虚拟化与安全、系统性能监视。cp15 下有 c0 到 c15 一组寄存器用 MRC 读、MCR 写指令格式是 MRC 后面跟协处理器号、操作码、目标寄存器、CRn、CRm 和可选的 opc2。跟中断相关的几个寄存器一是 c1 的 SCTLR 系统控制寄存器。bit13 是 V 位0 表示普通异常向量表基地址 0x00000000可以用 VBAR 重映射1 表示高地址向量表基地址 0xFFFF0000不可重映射。bit12 是 I 位控制指令 Cache 的开关。二是 c12 的 VBAR 向量表基地址寄存器用来把异常向量表搬到自己的程序里裸机工程一般设成链接地址。三是 c15 的 CBAR 配置基地址寄存器保存 GIC 寄存器的物理基地址写 GIC 驱动时要先读它不能把地址写死。重点总结轮询的缺陷不是慢而是主循环忙的时候没人看外设实时性场景必须用中断。按键初始化四步复用、电气、方向、时钟做输入时上拉最关键。GIC 中断源分三类SGI 是 0 到 15PPI 是 16 到 31SPI 是 32 到 1019。GIC 编号、芯片中断号、IRQn_Type 是三套编号写之前先确认偏移关系。cp15 掌管系统控制、MMU、Cache 和向量表基址MRC 读 MCR 写。

相关推荐

华为OD机试真题 新系统 2026-10-28 C++【日志规则逆波兰转换】
华为OD机试真题 新系统 2026-10-28 C++【日志规则逆波兰转换】

目录 题目 思路 Code 题目 题目内容: 系统中日志采集模块支持用户配置日志过滤规则。为了避免每次匹配都重新解析规则,需要开发一个规则解析器。 给定一个日志规则字符串,实现一个函数,将规则转换成逆波兰表达式(RPN)。 例:输入 A AND (B OR C),输出 A B C OR … · 2026/11/4 11:52:35

基于B/S新员工入职与试用期管理系统的设计与实现【Java毕业设计·安装调试·代码讲解·文档报告】
基于B/S新员工入职与试用期管理系统的设计与实现【Java毕业设计·安装调试·代码讲解·文档报告】

🍊作者:北友舰长 🍊简介:从事计算机毕业设计定制,Java程序开发,可定制化项目、 项目源码、代码讲解、文档撰写、ppt制作等等 🍅 文末获取源码联系 👇🏻 精彩专栏推荐订阅… · 2026/11/3 13:36:42

离线在线语音识别、AI语音交互融合方案详解
离线在线语音识别、AI语音交互融合方案详解

这两年做智能硬件的工程师应该都有体感,客户对语音交互的要求已经变了。前几年产品里塞一颗离线语音芯片,能听懂开灯关灯就能交差,现在甲方开口就问,能不能做Ai对话?能不能模糊识别?能不能连接大模型?,断网了还能不… · 2026/11/8 17:14:09

盐亭在哪里考电工证内部消息全公开 不怕考不过白交培训费
盐亭在哪里考电工证内部消息全公开 不怕考不过白交培训费

盐亭在哪里考电工证内部消息全公开 不怕考不过白交培训费 怕考不过白交培训费?盐亭电工证报考全攻略来了,内部消息曝光,别再被培训机构忽悠了!… · 2026/11/11 3:45:18

柳州电工证有用吗?证书过期了不知道怎么复审延期怎么办
柳州电工证有用吗?证书过期了不知道怎么复审延期怎么办

柳州电工证有用吗?证书过期了不知道怎么复审延期怎么办 证书过期了不知道怎么复审延期?你不是一个人,这几乎是所有特种作业人员都会遇到的问题。尤其是在柳州,电工证作为从事电气作业的“通行证”,其重要性不言而喻。但很多人在拿到证后,对如何… · 2026/11/11 3:45:18

电工证市安监局发的吗?真实经历告诉你全流程怎么走
电工证市安监局发的吗?真实经历告诉你全流程怎么走

电工证市安监局发的吗?真实经历告诉你全流程怎么走 工地太忙根本没时间复习考试,我当初报名电工证的时候,也是一头雾水,想着找个培训机构搞定一切,结果还是差点被坑。现在回头看看,真得把每个流程走扎实了,才能拿到真正的电工证。今天就从我亲身经历出… · 2026/11/11 3:45:18

电工证等级证取消了吗?郑州报考避坑指南:别让培训费打水漂
电工证等级证取消了吗?郑州报考避坑指南:别让培训费打水漂

电工证等级证取消了吗?郑州报考避坑指南:别让培训费打水漂 怕考不过白交培训费?别慌,电工证等级证并没有取消,只是证书管理方式和考试形式变了。特别是郑州地区,每年都有大量学员因为没选对培训机构、没掌握报考流程,最后花了钱却一无所获。今天就从南… · 2026/11/11 3:45:18

低压电工证年审怎么考?工地太忙根本没时间复习考试,多少钱能搞定?
低压电工证年审怎么考?工地太忙根本没时间复习考试,多少钱能搞定?

低压电工证年审怎么考?工地太忙根本没时间复习考试,多少钱能搞定? 工地太忙根本没时间复习考试,特别是像你这样新乡的应届工程类毕业生,刚入行就遇到低压电工证年审怎么考的问题,真的有点让人头疼。你不是不想考,而是没时间、没精力、不知道从哪下手。… · 2026/11/11 3:45:18

工地太忙根本没时间复习考试?国家电网安监局电工证含金量别浪费了
工地太忙根本没时间复习考试?国家电网安监局电工证含金量别浪费了

工地太忙根本没时间复习考试?国家电网安监局电工证含金量别浪费了 工地太忙根本没时间复习考试,这几乎是每个基层电工、施工人员的真实写照。尤其是像南阳卧龙区这样的建筑大区,工地上电工的需求量大,任务重,很多人压根没时间去准备国家电网安监局电工证… · 2026/11/11 3:44:18

电工证丢失还能补吗?千万别踩坑,丢了证等于失业
电工证丢失还能补吗?千万别踩坑,丢了证等于失业

电工证丢失还能补吗?千万别踩坑,丢了证等于失业 你正在找工作,但手里的电工证突然丢了,这下怎么办?别急,先别慌, 电工证丢失还能补吗 ?答案是肯定的,但 千万别踩坑 ,补办流程如果不了解,可能会耽误你上岗、甚至影响到你的收入。… · 2026/11/10 2:16:10

电力电缆作业证直播报名入口与办理流程良心建议
电力电缆作业证直播报名入口与办理流程良心建议

电力电缆作业证直播报名入口与办理流程良心建议 你是不是也担心学历不高报不了名?别急,今天就给你讲讲 电力电缆作业证直播 的报名流程和那些你必须知道的干货, 良心建议 在这里,别错过。 电力电缆作业证直播报名需要什么条件?… · 2026/11/10 17:46:39

英德电工证报考费多少钱,怕考不过白交培训费?看完这篇别再踩坑
英德电工证报考费多少钱,怕考不过白交培训费?看完这篇别再踩坑

英德电工证报考费多少钱,怕考不过白交培训费?看完这篇别再踩坑 怕考不过白交培训费?英德电工证报考费多少钱,你真的了解吗?现在市面上培训机构五花八门,价格参差不齐,很多人一不小心就花了冤枉钱,结果还考不过。别急,今天就来给你说清楚英德电工证的… · 2026/11/10 17:11:43

_中职电工证最新政策解读
_中职电工证最新政策解读

中职电工证在哪考?工地太忙根本没时间复习考试的救星来了 工地太忙根本没时间复习考试,这是很多正在备考 中职电工证 的建筑工友的真实写照。你不是不想考,而是真的没时间。但别担心,这期内容是 新乡初次报考人员… · 2026/11/11 0:00:52

昆明电工证培训价格值不值得考?老电工告诉你真相
昆明电工证培训价格值不值得考?老电工告诉你真相

昆明电工证培训价格值不值得考?老电工告诉你真相 之前考的证在外省能不能转过来?这个问题是很多在外地打工、换城市生活、或者是想在昆明发展的朋友最关心的。尤其是现在云南发展快,很多企业都在招持证上岗的电工,如果你手头有证但不在本地,那这个证是不… · 2026/11/11 0:00:52

特种电缆张工网上查询全攻略:外省证如何转过来
特种电缆张工网上查询全攻略:外省证如何转过来

特种电缆张工网上查询全攻略:外省证如何转过来 之前考的证在外省能不能转过来?这是很多特种作业从业者最关心的问题,尤其是像特种电缆张工这类证书,直接关系到日常工作是否合规、能否顺利晋升。很多小伙伴因为证书归属地的问题,陷入职业发展的瓶颈,甚至… · 2026/11/11 0:00:52

双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试
双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/10 20:19:29

STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析
STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/10 19:22:45

DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案
DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/10 17:00:47

了解更多?预约专属演示

我们的顾问将为您一对一讲解产品与方案

企业微信二维码