STM32设置定时器PWM时注意APB1和PAB2的区别

在使用STM32F407芯片通过TIM1和TIM2配置PWM控制舵机时,发现TIM1正常工作而TIM2输出频率错误。经实测TIM1输出50Hz,TIM2输出25Hz。问题根源在于APB1和APB2总线频率差异,APB2频率是APB1的两倍。解决办法是调整TIM2的配置以适应其挂载的低速APB1总线。
摘要由CSDN通过智能技术生成

芯片:STM32F407

最近设置定时器配置PWM控制舵机时,出现一个问题:TIM1配置的参数可以控制舵机,同样的配置TIM2无法控制舵机!

示波器实测:TIM1配置的GPIO口输出信号频率为50hz,TIM2配置的GPIO口输出的信号频率为25Hz;

那么是什么造成了这种想象?

我们注意到APB1和APB2总线的频率不一样,APB2是高速,APB1是低速;

 

当前配置刚好APB2是APB1两倍!那么是不是TIM1和TIM2挂载的总线不一样?

由cubeMX生成的代码,关于各和器件挂载的总线配置文件在stm32f407xx.h中,我们找到

/********************  Bit definition for RCC_APB1ENR register  ***************/
#define RCC_APB1ENR_TIM2EN_Pos             (0U)                                
#define RCC_APB1ENR_TIM2EN_Msk             (0x1U << RCC_APB1ENR_TIM2EN_Pos)    /*!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值