HAL 库开发笔记 - 外部中断

HAL 库开发笔记 - 外部中断

💡 原文中文,约2000字,阅读约需5分钟。
📝

内容提要

本文介绍了HAL库开发笔记中的外部中断部分,包括轮询和中断的概念,外部中断和内部中断的区别,以及配置GPIO中断和NVIC优先级的方法。同时指出了HAL_Delay()函数的问题和解决方法。

🎯

关键要点

  • 使用轮询方法消除按键抖动可能消耗过多系统资源,导致卡机或错过检测,因此需要使用中断。
  • 轮询是定时检查状态,而中断是由外部事件触发的响应。
  • 外部中断由外部设备触发,内部中断由软件程序触发。
  • NVIC(嵌套向量中断控制器)有中断使能、抢占优先级和响应优先级三个参数。
  • 中断使能决定是否开启中断,抢占优先级决定中断的优先级,响应优先级决定相同抢占优先级中哪个先执行。
  • 配置GPIO中断和NVIC优先级后,可以在中断回调函数中实现功能。
  • 在CubeMX中配置中断时,按键应配置为下降沿触发的中断。
  • HAL_Delay()函数在外部中断中可能会出现问题,需要调整中断的抢占优先级以避免冲突。
➡️

继续阅读