You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

STM32F303K8主从定时器配置异常:从定时器PWM占空比无法控制

STM32F303主从定时器PWM配置问题

摘要

在STM32F303K8的主从定时器配置中,无法控制从定时器TIM3生成的PWM占空比。

需求目标

实现两个定时器同步启动:

  • 主定时器TIM1:生成可变占空比的PWM,基础频率12.5kHz
  • 从定时器TIM3:输出窄脉冲,基础频率1kHz

问题现象

定时器同步启动功能正常,但无论修改TIM3的周期和脉冲宽度参数,其占空比始终与TIM1一致为50%,基础频率也和TIM1相同,该现象已通过示波器验证。

测试背景

基于HAL库在Nucleo F303开发板编写测试程序,目的是验证不同基础频率和占空比的定时器同步启动方案,最终将移植至G473芯片。

假设

  • 若F303上通过HAL驱动配置正确,该方案可直接移植至G473;
  • 若两个定时器基础频率相同,因时钟均源自系统时钟,可永久保持同步。

待解决问题

a) 以下CubeMX配置中是否存在导致上述现象的错误?
b) 能否验证或否定上述第二个假设?

配置与代码

CubeMX配置截图

  • 引脚配置
  • 示波器波形(蓝色:TIM1通道4输出;黄色:TIM3通道1输出,TIM3随TIM1首次溢出启动)
  • TIM1通用配置
  • TIM1通道配置
  • TIM1 PWM配置
  • TIM3通用配置
  • TIM3 PWM配置
  • TIM3占空比配置

测试代码

程序启动定时器后进入空循环,TIM1通道4中断用于切换Nucleo板LED以指示程序运行:

HAL_TIM_PWM_Start(&htim3, TIM_CHANNEL_1);

HAL_Delay(100);

HAL_TIM_PWM_Start(&htim1, TIM_CHANNEL_1);
HAL_TIMEx_PWMN_Start(&htim1, TIM_CHANNEL_1);
HAL_TIM_PWM_Start_IT(&htim1, TIM_CHANNEL_4); // start Timer 1 Ch 4 with Interrupt

内容的提问来源于stack exchange,提问作者Chris_B

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.12 21:13:21