图 4 – 设置中断优先级
步骤 7 – 启用中断
启用中断通常是一个两步过程 。 第一步是嵌入式开发人员可以检查中断寄存器并取消屏蔽系统将要使用的中断 , 取消屏蔽中断允许中断控制器在触发该特定中断时做出响应;第二步是启用实际中断 , 再次启用中断可能因微控制器而异 , 因此打开数据表并仔细检查非常重要 。 图5显示了如何通过首先取消屏蔽中断然后使用CMSIS启用与GPIO C13关联的中断线来启用STM32 Nucleo板上的GPIO C13的示例 。
图 5 – 启用中断
步骤 8 – 创建中断处理程序
中断控制器现已配置!只有一个问题 , 当中断发生时 , 没有中断处理程序来响应中断 。 下一个合乎逻辑的步骤是创建一个中断处理程序 。 有很多方法可以做到这一点 , 不仅取决于架构 , 还取决于编译器和IDE 。 将函数指定为中断通常使用#pragma或类似类型的编译器内在函数 。 在ARM平台上进行开发时 , 开发人员只需要查看中断列表并使用匹配的预先指定的处理程序创建一个函数 。 图6显示了中断处理程序如何查找GPIO C13的示例 。
图 6 – 空中断处理程序
步骤 9 – 清除处理程序中的中断标志
大多数微控制器要求开发人员在中断处理程序中手动清除中断标志 。 在特殊情况下 , 中断标志会自动清除 , 但应参考微控制器的数据表来确定哪些中断以这种方式运行 。 GPIO中断通常作为一个块触发 , 进入中断后 , 需要执行简单的检查以确定是哪条GPIO线导致了中断 。 然后可以清除相应的标志 。 图7显示了如何做到这一点 。
图 7 – 清除处理程序中的中断标志
步骤 10 – 测试和调试
最后 , 在完成所有这些步骤之后 , 嵌入式开发人员人员现在可以测试他们的代码了 。 固件在第一次尝试时不太可能正确运行 , 但是在密切遵循每个步骤之后 , 在中断启动并正确运行之前应该只需要进行微小的调整 。
- meta|促进更逼真AR/VR体验,Meta正在开发全新空间音频工具
- NVIDIA的DLSS技术已经深受玩家和开发者认可|性能2倍于DLSS!AMD游戏神技FSR 2.0正式支持Xb
- 蓝牙AOA定位那点事系列085:如何应对第一次合作软件开发合作伙伴的问题和需求
- 酷家乐|硬件创业:智能硬件产品详细开发指南
- 苹果|苹果CEO库克证实公司正在开发虚拟现实设备,有望1月上市
- 软件开发|手机维修培训中心-一加9r一加9rt开启coloros12升级公测招募
- 前端开发|Web前端:前端开发人员与后端开发人员,谁最适合你的业务?
- 乐视|AMD推出新的锐龙嵌入式R2000系列
- 台积电|美专家公开发声,给了中芯一颗“定心丸”?
- 维利科技:小程序开发的方式有哪些以及如何挑选软件定制公司?
