解决stm32中PWM输出失败

根据视频教学,我们知道一般使用stm32进行PWM输出的配置如下:

通过库函数来配置该功能的步骤:

(1)开启 TIM3 时钟以及复用功能时钟,配置 PC7为复用输出。

(2)设置 TIM3_CH2 重映射到 PC7 上。

(3)初始化 TIM3,设置 TIM3 ARR PSC

(4)设置 TIM3_CH2 PWM 模式,使能 TIM3 CH2 输出。

(5)使能 TIM3

(6)修改 TIM3_CCR2 来控制占空比。

 

但出现了排查代码无误,编译无误,引脚始终无法输出波形的形况。

我原本使用了PA7引脚输出定时器3通道2的波形,但始终不成功,查找资料后,发现若管教不进行重映射的话,似乎无法输出PWM波,于是便修改了引脚,改变为使用PC7引脚来输出PWM波,进行完全重映射以及配置结束后重新使用是波形来测,发现成功了。

         若更改后仍无法成功可能是代码的引脚通道、板子的硬件问题等,可以尝试换一个定时器。

 

“当pwm波出不来的时候先检查两遍用的定时器的配置,当找不着问题的时候不要怀疑自己,有可能代码没写错,可能只是硬件上由于IO连接了其他片内外设导致的。就比如我使用的定时器3的通道2,如果不重映射或者不部分重映射的话对应的IO引脚输出不了pwm波。遇见这种情况建议换个通道,或者换个定时器,或者是映射一下试试看,总比看着代码干瞪眼强。”

参考自:https://blog.csdn.net/naruhina/article/details/104108063

 

你可能感兴趣的:(stm32,单片机)