关于定时器

本文详细介绍了STM32高级定时器ITM1/8的配置要点,包括设置TIM_RepetitionCounter以确保定时精度,以及启用TIM_CtrlPWMOutputs以输出PWM信号。还特别提到所有定时器需要配置TIM_ARRPreloadConfig以避免PWM中断问题,强调了这个配置对于保持定时器稳定性和PWM输出连续性的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

高级定时器 ITM1/8

1.输出PWM需要添加 TIM_CtrlPWMOutputs(TIM1, ENABLE );        

所有定时器

1. 需要添加重载 TIM_ARRPreloadConfig(TIMX, ENABLE); 曾经用定时器里翻转IO发送PWM控制电机,由于没有加这句导致中间有超过1ms以上的PWM中断,实际是由于APER=1,ARR修改需要在下一周期才生效。

2. 需要添加 TIM_TimeBaseStructure.TIM_RepetitionCounter = 0;  不然计时会不准,可能是没有每次定时到都进入中断。  

3.定时器中断开关一定要正确,曾复制一个定时器开启了捕获中断与更新中断,在配置时与中断函数里将捕获相关代码去掉了只保留了更新中断,但是开启了捕获中断结果导致usb不正常。

TIM_ITConfig( TIM2, TIM_IT_Update | TIM_IT_CC1 | TIM_IT_CC2, ENABLE );把捕获中断去掉

TIM_ITConfig( TIM2, TIM_IT_Update/* | TIM_IT_CC1 | TIM_IT_CC2*/, ENABLE );结果运行正常

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值