本文将介绍通过使用通用定时器的输入捕获功能来记录按键按下的时间,并通过串口调试工具打印出按键按下的时间;
芯片:STM32F407
编译调试工具:keil、cubemx
①使用STM32CUBEMX配置工程文件
②代码实现
①使用STM32CUBEMX配置工程文件
Step1:配置TIM2,选择内部时钟挂载在APB1总线上、选择通道1、选择输入捕获、输入预分频数、设置计数值;设置输入捕获为下降沿捕获
Step2:使能RCC时钟,选择外部晶振;配置时钟树
Step3:设置优先级分组、设置优先级
Step4:配置串口USART3、用于调试打印日志
Step5:生成工程文件
②代码实现
Step1:输出重定向、添加头文件
Step2:从启动文件一层一层寻找输入捕获的中断服务函数
进入启动文件找到TIM2的中断向量地址:
Goto define of TIM2_IRQHandler ......:
Goto define of HAL_TIM_IRQHandler......:
Step3:重定义输入捕获函数对应的中断服务函数
HAL_TIM_IC_CaptureCallback:
Step4:重定义计数器溢出对应的中断服务函数
Step5:在主函数中启动定时器和输入捕获:
Step6:编译运行
全部0条评论
快来发表一下你的评论吧 !