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

使用CubeMX新建EXTI外部中断工程——使用回调函数

使用cubemx新建工程的具体操作步骤参考这个:STM32CubeMX学习笔记(3)——EXTI(外部中断)接口使用_cubemx exti-CSDN博客

1、使用回调函数与不使用回调函数的区别

不使用中断回调函数是直接在中断服务函数中放置中断处理函数

使用中断回调函数是在中断服务函数中调用了GPIO的外部中断处理函数 HAL_GPIO_EXTI_IRQHandler()其主要作用就是判断是几号线中断,清除中断标识位,然后调用中断回调函数 HAL_GPIO_EXTI_Callback()

2、HAL_GPIO_EXTI_Callback() 定义

void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin)
{switch (GPIO_Pin){case GPIO_PIN_0 :HAL_GPIO_TogglePin (GPIOB,GPIO_PIN_0);break;case GPIO_PIN_13 :HAL_GPIO_TogglePin (GPIOB,GPIO_PIN_1);break;		}
}

3、使用中断回调函数的主要优点

  • 提高代码的模块化和可读性;
  • 增强代码的可复用性和灵活性;
  • 简化ISR逻辑,提升系统性能;
  • 支持动态绑定和事件驱动编程;
  • 便于调试和测试。

这种设计模式特别适合复杂的嵌入式系统开发,尤其是在需要处理多个中断源或频繁更改中断逻辑的场景中。通过合理使用中断回调函数,可以使代码更加优雅、灵活和高效。

4、记录一下问题:

在设置按键2对应的引脚时点错了,应该是PC13,选成PC3了。其他没什么问题,和不使用回调函数差不多,多了在main.c文件中添加自己定义的回调函数。

相关文章:

  • 理解 iptables 的表与链
  • Maven 多仓库与镜像配置全攻略:从原理到企业级实践
  • Androidjetpack之viewmodel的原理分析
  • 2025年最新Web安全(面试题)
  • 网络服务之DHCP
  • 新加坡太白私募:金融创新与稳健发展的典范
  • 探索亮数据Web Unlocker API:让谷歌学术网页科研数据 “触手可及”
  • 图像预处理-图像掩膜
  • mysql表类型查询
  • 修改镭神激光雷达ip
  • 数据结构与算法 复习记录(一)
  • 【Python进阶】元组:不可变序列的十大核心应用
  • JavaScript基础-01(笔记)
  • 复旦大学、百度联合开源数字人项目hallo2,支持高分辨率(可达4K)、长视频生成(最多1小时)
  • PyTorch学习-小土堆教程
  • 2025年泰迪杯数据挑战赛B题问题分析
  • 文章记单词 | 第35篇(六级)
  • 等离子体浸没离子注入(PIII)
  • XR技术赋能艺术展演|我的宇宙推动东方美学体验化
  • 50常用控件_QPushButton
  • 做学徒哪个网站好/网站排名优化工具
  • 建设网站的过程/网站设计制作培训
  • 南京最新疫情轨迹公布/优化关键词排名哪家好
  • 站长统计草莓芭乐丝瓜小猪/seo具体seo怎么优化
  • wordpress自由定制导航/seo优化是利用规则提高排名
  • 潮州网站seo推广/目前常用的搜索引擎有哪些