STM32 PWM配置

 

原文来自:http://www.cnblogs.com/sankye/articles/2482912.html

一:配置TIM3的ARR寄存器和PSC寄存器,确定PWM频率。

这里配置的这两个定时器确定了PWM的频率,我的理解是:PWM的周期(频率)就是ARR寄存器值与PSC寄存器值相乘得来,但不是简单意义上的相乘,例如要设置PWM的频率参考上次通用定时器中设置溢出时间的算法,例如输出100HZ频率的PWM,首先,确定TIMx的时钟,除非APB1的时钟分频数设置为1,否则通用定时器TIMx的时钟是APB1时钟的2倍,这时的TIMx时钟为72MHz,用这个TIMx时钟72MHz除以(PSC+1),得到定时器每隔多少秒涨一次,这里给PSC赋7199,计算得定时器每隔0.0001秒涨一次,即此时频率为10KHz,再把这个值乘以(ARR+1)得出PWM频率,假如ARR值为0,即0.0001*(0+1),则输出PWM频率为10KHz,再假如输出频率为100Hz的PWM,则将ARR寄存器设置为99即可。如果想调整PWM占空比精度,则只需降低PSC寄存器的值即可。

二:TIMx_CCRx寄存器,确定PWM的占空比。

TIMx_CCR1—TIMx_CCR4确定定时器的CH1—CH4四路PWM的占空比。直接给该寄存器赋0—65535值即可确定占空比。占空比计算方法:TIMx_CCRx的值除以ARR寄存器的值即为占空比,因为占空比在0—100%之间,所以一般TIMx_CCRx寄存器值不能超过ARR寄存器的值,否则可能会引起PWM的频率或占空比的准确性。

 

 

TIM3 配置: 产生1路PWM信号;
                TIM3CLK = 72 MHz, Prescaler = 0(不分频), TIM3 counter clock = 72 MHz
                计算公式:
                PWM输出频率 = TIM3 counter clock /(ARR + 1)

                我们期望设置为100Hz

                如果不对TIM3CLK预分频,那么不可能得到100Hz低频。
                我们设置分频比(PSC) = 1000, 那么  TIM3 counter clock = 72KHz
                TIM_Period = 720 - 1;
                频率下不来。

 

有关STM32 PWM输出频率固定,通过调整CRR捕获比较寄存器的值,从而调整占空比控制LED灯的亮暗的例子:

原文来自:http://blog.sina.com.cn/s/blog_6d9235d70101lyz7.html

转载于:https://www.cnblogs.com/tianzhiqiushui/p/3881231.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
STM32的通用定时器具备生成PWM波的功能,并且可以将PWM波输出到定时器的通道引脚。在配置STM32PWM时,需要进行基础配置和定时器相关配置。基础配置包括设置定时器的时钟源、预分频因子、计数周期等参数,而定时器相关配置则包括设置PWM的占空比、周期以及极性等参数。 具体来说,配置STM32PWM可以通过CubeMX来完成。首先,选择对应的STM32型号,比如STM32G070CBT6。然后,根据需求选择定时器(如TIM3)作为PWM源,并进行相应的配置,包括选择输出引脚、设置频率、占空比、极性等。在完成配置后,生成代码并将其导入到开发环境中,即可开始使用配置好的PWM功能。 总结来说,配置STM32PWM需要进行基础配置和定时器相关配置,可以通过CubeMX等工具来简化配置过程。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [一文搞懂STM32 PWM配置](https://blog.csdn.net/chanchairen/article/details/131184538)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *3* [2023年电赛E题代码-stm32部分源码、jetson nano上的OpenCV源码及电路板PCB原理图设计](https://download.csdn.net/download/qq_32971095/88226738)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值