PWM的基础知识我就不多说,主要说怎样用各个通用定时器去输出各个通道的pwm。
先说TIM2的·参考F103.的中文参考手册可以知到TIM2共有四种复用映像方式:没有重映像、部分重映像1、部分重映像2、完全重映像
'没有重映像'怎么写
void TIM2_PWM_Init(u16 arr,u16 psc)
{
GPIO_InitTypeDef GPIO_InitStructure;
TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;
TIM_OCInitTypeDef TIM_OCInitStructure;
RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2, ENABLE); //使能定时器2时钟
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE); //使能GPIO外设
这部分没啥说的,然后就是 初始化它重映像对应的几个IO口
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_1|GPIO_Pin_0|GPIO_Pin_2|GPIO_Pin_3; //TIM_CH1 2 3 4
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP; //复用推挽输出
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOA, &GPIO_InitStructure);//初始化GPIO
之后就是初始化TIM2
TIM_Tim