本文将介绍通过使用通用定时器的输入捕获功能来记录按键按下的时间,并通过串口调试工具打印出按键按下的时间;
芯片: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:编译运行

-
晶振
+关注
关注
35文章
3441浏览量
72613 -
时钟
+关注
关注
11文章
1953浏览量
134532 -
定时器
+关注
关注
23文章
3360浏览量
121700 -
串口
+关注
关注
15文章
1607浏览量
81909 -
stm32cubemx
+关注
关注
5文章
287浏览量
17133
发布评论请先 登录
STM32 --通用定时器输入捕获功能 精选资料推荐
stm32定时器输入捕获
stm32定时器输入捕获配置步骤及实例笔记

使用通用定时器的输入捕获实例
评论