STM32定时器计算

Tout = ((arr+1)*(psc+1))/Tclk ;

其中:

 Tclk:定时器的输入时钟频率(单位MHZ)

 Tout:定时器溢出时间(单位为us)


  TIM_Period = arr;                                   eg:4999
  TIM_Prescaler = psc;                             eg:7199


 Tout = ((4999+1)×(7199+1))/72 = 500000us = 500ms

有些小白可能看这么多也不知道是什么意思

具体一点的解释:

Tclk:定时器的输入时钟频率为 72 000 000HZ

 TIM_Prescaler = 7199;那么72 000 000/7200 = 10000HZ = 10KHZ;

也就是说要计数10000才是1s。

TIM_Period = 10000/2 - 1 = 4999;所以 500ms要计算5000次,才是0.5s;

修改输出PWM的频率和占空比

pwm频率 f = 时钟频率/(arr + 1 )* (psc + 1); 单位: Khz

pwm周期 T = 1/ f ; 单位 : s

    PWM_Init_TIM1(0,7199); // PWM频率 f = 72000000/(7199+1)*(0+1) = 10KHZ
                           // PWM周期 T = 1/f = 1/10000 = 0.0001S = 0.1ms
 
    TIM_SetCompare1(TIM1,3599);//设置TIMx捕获比较1寄存器值  此处为TIM1通道1 占空比为50%
    TIM_SetCompare4(TIM1,3599);//设置TIMx捕获比较4寄存器值  此处为TIM1通道4 占空比为50%
 
 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值