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

描述

本文将介绍通过使用通用定时器的输入捕获功能来记录按键按下的时间,并通过串口调试工具打印出按键按下的时间;

芯片: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:编译运行

晶振

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分