stm32是非常常用的单片机。脉冲宽度调制(PWM),是英文“Pulse WidthModulation”的缩写,简称脉宽调制,是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术。
就是用一连串的脉冲信号(PWM信号)代替正弦信号。其具有谐波小,响应快的优点。
这项技术可用于led的亮度调节,也可以用于电机调速,用途非常广泛。今天,就向大家分享一下pwm输出的代码,都有注释,便于入门者学习。
代码及注释如下:
#include "stm32f10x.h"
void GPIO_TimPWM(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA , ENABLE);//
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_7; //TIM_CH2 GPIOA_Pin_7输出
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP; //复用推挽输出
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOA, &GPIO_InitStructure); //不解释
}
void TIM3_Configuration(void)
{
TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;
TIM_OCInitTypeDef TIM_OCInitStructure;