stm32 定时器 备忘录

这篇博客介绍了STM32中常用的定时器回调函数,包括输入捕获、更新中断、触发中断和输出比较。重点讲述了输入捕获的配置,如设置捕获沿和开启中断,并探讨了中断关闭后的状态以及读取捕获值的方法。同时,也提及了更新中断的概念,是学习STM32定时器中断的良好参考资料。
摘要由CSDN通过智能技术生成

声明:本文只是个人笔记,格式风格混乱,内容来源网络、书籍及个人实践,不负任何责任

常用定时器回调函数:

 1. void HAL_TIM_IC_CaptureCallback(TIM_HandleTypeDef *htim);//输入捕获
 2. void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim);//更新中断   
 3. void HAL_TIM_TriggerCallback(TIM_HandleTypeDef *htim);//触发中断
 4. void HAL_TIM_OC_DelayElapsedCallback(TIM_HandleTypeDef *htim);//输出比较

输入捕获

正确学习顺序应该是先学习更新中断,但是由于个人原因先接触的捕获中断。
先设置捕获上升还是下降沿
在这里插入图片描述

__HAL_TIM_SET_CAPTUREPOLARITY(&htim2,TIM_CHANNEL_3,TIM_INPUTCHANNELPOLARITY_RISING);//上升沿捕获
__HAL_TIM_SET_CAPTUREPOLARITY(&htim2,tim_channel_3,TIM_INPUTCHANNELPOLARITY_BOTHEDGE);//上升下降(但是案例较少,没尝试)
__HAL_TIM_SET_CAPTUREPOLARITY(&htim2,tim_channel_3,TIM_INPUTCHANNELPOLARITY_FALLING);//下降沿捕获

然后设置中断

 HAL_TIM_IC_Start_IT(&htim2, TIM_CHANNEL_3);//开启中断
 HAL_TIM_IC_Stop_IT(&htim2, TIM_CHANNEL_3);//关闭中断

同样有DMA方式等等,还没去尝试。
网上资料说定时器中断关闭后重置,目前貌似不太一样,中断数字没有重置的感觉,就是一直运行然后溢出再运行。这个后续需要验证一下。如果能重置最好,不能重置需要判定溢出(当然都做溢出判断也没问题)

HAL_TIM_ReadCapturedValue(&htim2, TIM_CHANNEL_3);//字面意思,读取捕获值

更新中断

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值