关于STM32G474(F334)高精度定时器的 CubeMX+HRTIM中断实现

本文由来:找遍全网没有人配置HRTIM中断的例子,非简体中文也没有,本人实现了一天才发现问题所在。

基本问题不再赘述

时钟34bc7eaced26453f91fdf04925f02f3e.png

晶振选择8M无源陶瓷

5725e5ab1fa74c7884cdb4a1c88d421d.png

Debug选择SW模式

d3764259d8064e76bf42bf275f25a57b.png

HRTIM使用TimerC 的TC1和TC2的互补模式,并用TimerC产生中断

c0c4cc2760634878a76f1fd6d5b12929.png

 关于互补PWM请同学们参考这篇文章STM32F334高分辨率定时器HRTIM1输出1对互补PWM波详细解析(使用CubeMx配置)HAL库代码-CSDN博客

 下面是中断配置的重要步骤,4个步骤分别对应如下4个图

1.(1)预装载使能;(2)重复计数使能;(3)中断请求源数量1个;(4)重复计数中断源使能

2.NVIC中断向量中使能定时器C全局中断

3.根据你的开发环境生成代码

4.在合适的位置打开中断使能定时器,可以在main的初始化那里,也可以放在hrtim.c 初始化配置最后位置的用户代码块中,其代码为:

__HAL_HRTIM_TIMER_ENABLE_IT(&hhrtim1,HRTIM_TIMERINDEX_TIMER_C,HRTIM_TIM_IT_REP);

PS:如果你不使用这个函数就程序不会进入void HRTIM1_TIMC_IRQHandler(void) 中断服务函数

06fa3b8589454139802fe7ffc1c86437.png

c1916975afbf4a2cbacffd3f89669720.png

90cd8840cc32488dac0f8e62ed2737b2.png4dc58e88807045f287e90166a1f7e132.png

结尾

__HAL_HRTIM_TIMER_ENABLE_IT(&hhrtim1,HRTIM_TIMERINDEX_TIMER_C,HRTIM_TIM_IT_REP)的函数意义如下。本文对于主定时器以及TimerA~E同样适用

f696575b2bd5479dbae92f8d2a04adaf.png

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值