💡
原文中文,约2200字,阅读约需6分钟。
📝
内容提要
本文介绍了使用外部中断检测输入的原理和NVIC的三个参数:中断使能、抢占优先级和响应优先级。同时,通过配置GPIO中断和NVIC优先级,实现了用按键控制LED灯的功能。
🎯
关键要点
- 使用中断可以避免轮询方法带来的系统资源消耗和错过检测的问题。
- 中断分为外部中断和内部中断,外部中断由外部设备触发。
- NVIC(嵌套向量中断控制器)有三个参数:中断使能、抢占优先级和响应优先级。
- 中断使能决定是否开启中断,抢占优先级决定中断的优先级,响应优先级决定相同抢占优先级中哪个先执行。
- 配置GPIO中断和NVIC优先级后,可以通过重写中断回调函数实现按键控制LED灯的功能。
- 在CubeMX中配置中断时,按键应设置为下降沿触发,并选择内部上拉。
- 在代码中重写中断回调函数以实现按键切换LED灯的开关状态。
- 需要注意HAL_Delay函数的优先级问题,避免与SysTick定时器冲突。
➡️