基础定时器

cubemx中定时器的相关代码设置:

基础定时器只有单次定时模式和连续定时模式两种,在cubemx中打开One Pulse Mode选项就是单次定时模式。需要在main函数中使用HAL_TIM_Base_Start_IT(&htimx)来开启定时器的定时中断。

但是务必记住在开启定时器中断后会立即进入一次中断,因为TIM_TimeBaseInit函数末尾,手动产生了更新事件。所以需要在HAL_TIM_Base_Start_IT(&htimx)之前使用__HAL_TIM_CLEAR_FLAG(&htim6,TIM_IT_UPDATE)清除定时器更新标志位(_TIM_OnePulse模式下相当于会进入两次终端),如果不介意此问题,则不清除此标志位也可。

在stm32f1xx_it.c中定义了中断函数void TIMx_IRQHandler(void),其中又执行了HAL_TIM_IRQHandler(&htim6),在HAL_TIM_IRQHandler(&htim6)中寻找所对应的UEV事件的中断函数。写在tim.c中。

①基础定时器

(1.1)只有一种事件引起中断即计数器上溢时产生的更新事件(UEV)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值