用电位器调节 PWM 频率
两个变量内存地址重叠,相互影响
stm32H723 tim23和tim24 中间对齐模式无效
stm32H723 tim1和tim23 tim24同步的问题
stm32n657的TIM8定时器
向 “HAL_RTC_GetTime” 函数传递的第一个参数出现指针类型不兼容警告
无法从编码器模式下的 TIM1 获取计数值
STM32H503的Vcap引脚问题
定时器输出PWM控制电机的问题
STM32CubeMX+DP83848
微信公众号
手机版
从手册上和CubeMx配置看,STM32H723的TIM23/24是支持中心对齐计数模式的,这点你不难快速验证;
至于PWM频率,如果Up模式下,ARR=X-1;
在Up/Down模式下,ARR=X;
此时对于同一TIMER,Up模式下的频率的确应该是中心对齐计数模式下的2倍。
[md]我使用stm32H723的tim23和tim24,发现up模式和中间对齐模式输出的pwm是一样的,而且cr寄存器都没有变化,感觉是tim23和tim24的中间模式未生效一样。
[md]我找个H723板验证后再在这里回复你。
今天上午我找了H723开发板做了验证测试,你反馈的问题应该是存在的。从测试来看,TIM23/24是不支持中心对齐计数模式的。 这个地方我会再进一步反馈下。谢谢~!
[md]关这个问题补充下。
后来我进一步找设计人员做了沟通、确认,STM32H763的TIM23 TIM24的确是支持中心对齐计数模式的。换言之,手册和CUBEMX配置那里是没问题的。
为什么我们基于cubeMx创建工程并选择中心对齐计数模式,TIM23/24表现出来却不支持呢?
后来我发现是目前库代码里有bug,在TIMER初始化过程中,在涉及TIMER的中心对齐计数模式
配置时,代码里会对所用TIMER做资格检查,即看它是否支持中心对齐,在这个检查过程中,目前库代码没有把TIM23 TIM24包含进去,导致检查返回失败,进而中心对齐配置被跳过,使得TIM23/24始终使用默认的向上计数模式。这个地方bug有待后续修复。
目前可以直接修改寄存器的CMS位域 或 临时调整库代码也行。