STM32--PWM波输出程序如何写
我采用得是STM32F10RC 参考得是STM32普中科技的给出得例子:https://www.bilibili.com/video/av30149282/?p=45(这里给出网址)
1、PWM输出介绍
STM32F1 除了基本得定时器TIM6 TIM7 不能产生PWM输出,其他得定时器都可以产生PWM输出,其中TIM1 和 TIM8 可以产生多达到7 路的输出,普通的定时器可以同时产生多大4路的输出
PWM的基本概念意义就不在此处进行讲述了
定时器钟的ARR (自动重装值) 决定了PWM波的信号的频率
比较寄存器的 CRR的值,则决定了 PWM波的占空比的值
2、PWM的输出比较模式
PWM的输出的模式有8 种,我们最常用的就是 PWM1 和 PWM2,这两种的区别就是输出的电平的极性是不同的。
a、边沿对齐模式 :
cnt < CCR PWM的参考信号便为有效, 有效设定为高电平
cnt >ccr PWM变为无效,无效为低电平
b、 中心对齐模式
3、 PWM的输出的配置步骤
step1: l 输出管脚的功能配置
ps 在这一步应当查询手册确定所选用的引脚的输出的具有对应的定时器的PWM的输出的功能
step 2 开启定时器的相关东西
step3 PWM 的相关配置 用来配置相关的输出的模式
最终如何得到占空比和频率的设定:
频率:
//Fpwm = 72M / ((arr+1)*(psc+1))(单位:Hz)
占空比:
//duty circle = TIM3->CCR1 / arr(单位:%)