STMCU小助手
发布时间:2022-7-3 16:00
|
一、打开cubemx,配置按键相关的管脚为外部中断模式 / [- O: i3 z8 P# b4 c/ m& X
: B( x& K( ?8 J8 L 根据阿波罗开发板的原理图可以知道,只有PA0脚当按键按下时是高电平,其余几个按键按下时都为低电平,因此配置PA0为下拉,上升沿触发中断,其他按键管脚配置为上拉,下降沿触发中断。配置完如下图所示 2 L+ `1 v, W: Q" I: v9 }
a, F3 l2 \8 C# d2 }8 K+ @ 二、配置中断优先级! n( ^+ n$ h$ ^" @ 点击NVIC选项卡,配置如下( \+ n- z! h$ y( b, C 3 n a, [1 K+ r& T ]8 s
3 u, I, {) d( z9 s/ z9 r/ B+ D 三、生成代码 在stm32f7xxit.c文件中可以看到与外部中断相关的中断服务函数 % x4 K" ]3 E" S, Q' Z0 Z
根据上图的方法我们进入到HAL_GPIO_EXTI_IRQHandler函数中可以看到函数调用了 HAL_GPIO_EXTI_Callback函数,我们只需要重构该函数即可。8 |4 g2 U! ?* G
四、添加代码 在stm32f7xxit.c中添加函数如下, s b$ Z& e: g- R! o) F
五、编译下载,通过串口调试助手观看现象7 y4 g( B4 c" u# N$ Q$ Z# D 按下按键会有对应的键值打印出来,实际现象当按下某个按键时,该键值会多次打印,是由于按键抖动造成了,只需要添加消抖程序即可 0 Z2 }1 w" e; D3 v
|
【福利三:雨露均沾·逢7狂欢】之一:STM32F1外部中断异常故障的解决办法
STM32中断响应延迟优化:从NVIC配置到DMA加速的极致性能调优
基于STM32串口中断之缓存区溢出卡死经验分享
基于STM32数组越界异常中断经验分享
基于STM32之数组越界异常中断经验分享
基于STM32连接参数更新进程后导致断连的问题分析
基于STM32连接参数更新进程后导致断连的问题分析
基于STM32的定时器不按设定超时产生中断
基于STM32利用TIMER事件和栈帧体验中断响应经验分享
基于STM32外部中断原理和配置代码经验分享
微信公众号
手机版