STM32
直播中

吴湛

10年用户 977经验值
擅长:417804
私信 关注
[问答]

STM32G431CBT6使用LL_TIM_SetRepetitionCounter()更新TIM8的RCR寄存器,无法更改PWM输出的个数,为什么?

如题,使用STM32CubeMX初始化,RCR寄存器设置为20-1,tiM8设置为单脉冲模式;进入程序后使用LL_TIM_SetRepetitionCounter(TIM8, 10-1),通过Keil MDK调试查看RCR寄存器确实修改为9,但是PWM输出的周期数仍然是20,没有变化

回帖(1)

唐行轲

2024-3-21 15:05:46
TIM8的RCR寄存器内容必须使能一次更新事件后才能加载进去。 楼主用的函数仅仅是写了寄存器,并没有真正加载。加载需要产生一次更新事件(软件或硬件)。 楼主可以留意一下官方的初始化函数,最后通常都有一句软件产生更新事件的代码使其配置的参数真正加载上去,保证实时性。 否则就要在20个设定的定时器脉冲后才会加载上去,然后变回10个。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分