stm32 hal timer使用小结

首先需要在stm32CubeMx上进行定时器相关的配置

因为我们用的事timer5,timer5是挂在APB1上的(芯片是:stm32f407)

下面是timer的配置,因为我们timer5的输入时钟是84MHz,所以这里的分频值,我们设置为8400(PSC+1为分频值),接下来我们设置时钟周期,我们设置1秒钟的时钟周期,所以这里我们设置周期值为10000。简单说一下分频值是8400,也就是输入时钟周期为0.1ms一次,我们的10000个周期产生一个中断,所以这里的中断时间是1秒。

然后打开timer5的中断,就可以生产代码了。

遇到的问题是:

1、初始化之后中断标志位并没有被清除,所以当你打开中断的一刻,会直接进入中断处理函数。初始化完成之后需要清除中断标志位。

用到的几个hal函数分别为:

中断处理函数:

HAL_TIM_PeriodElapsedCallback

开启中断函数:

HAL_TIM_Base_Start_IT

关闭中断函数:

HAL_TIM_Base_Stop_IT

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值