至于什么是PWM,百度即可,其实内容简单。 首先STM32中PWM功能是使用计数器实现的,与51里相似,但也有区别。51使用计数器的中断调节占空比,占用MCU的时间。而STM32使用硬件实现PWM的功能,故PWM属于外设功能。(计数器的向上计数,向下计数,中央对齐模式不介绍了)。
PWM主要对2个寄存器的配置。TIMx_ARR = T (设置周期T,频率的设置)
TIMx_CCRx = t(设置占空比,这个一条库函数就行了)
**附:PWM仍进入挂接的TIMx的中断操作。不过51中断是中断作为一小份进入中断再计数进行pwm调制。而STM32是到ti则进入,已经调制好
#include "PWM.h"
void PWM_init()
{
TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;
GPIO_InitTypeDef GPIO_InitStructure;
TIM_OCInitTypeDef TIM_OCInitStructure;
//挂接时钟RCC上