STM32 产生 PWM 精讲这次的任务是:用 STM32 的一个定时器在四个通道上产生四路频率可调占空比可调的 PWM 波
看到这个题,我先看 STM32 的数据手册,把 STM32 的定时器手册看完就花了一天,但是看了一遍任然不知道所云,就看库函数,略有点理解,就想一哈把这个程序调出来,于是就花了一天多时间仿照网上别人的程序来写,花了一天多写出来调试,结果行不通,做了无用功,于是静下心来想想,还是一步一步的来
我先用 STM32 的通用定时器用 PWM 模式产生四路相同占空比,不同频率的PWM 波,配置如下:RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2,ENABLE);//使能 TIM2时钟TIM_InternalClockConfig(TIM2);//使用内部时钟TIM_BaseInitStructure
TIM_Prescaler=3; //设置 TIM 时钟频率除数的预分频值 TIM_BaseInitStructure
TIM_CounterMode=TIM_CounterMode_Up;//选择计数器模式 TIM_BaseInitStructure
TIM_Period=1799;//设置下一个更新事件装入活动的自动重装载寄存器周期的值 TIM_BaseInitStructure
TIM_ClockDivision=0;//设置时钟分割TIM_TimeBaseInit(TIM2,&TIM_BaseInitStructure);//通道 1TIM_OCInitStructure
TIM_OCMode=TIM_OCMode_PWM1;//选择定时器模式 TIM_OCInitStructure
TIM_OutputState=TIM_OutputState_Enable;//选择输出比较状态 TIM_OCInitStructur