初始化代码是这样的
[mw_shl_code=c,true]void TIM3_PWM_Init(u16 arr,u16 psc)
{
RCC->APB1ENR|=1<<1;//TIM3时钟使能
RCC->APB2ENR|=1<<2;//使能PORTA时钟
TIM3->  SC=psc; //设置分频系数
TIM3->ARR=arr; //设置自动重装值
GPIOA->CRL&=0X0FFFFFFF;
GPIOA->CRL|=0XB0000000;//设置为复用推挽输出,输出频率为50MHZ
TIM3->CCMR1|=6<<12;//采用PWM模式1
TIM3->CCMR1|=1<<11;//CH2预装载使能
TIM3->CCER|=1<<4;//OC2输出使能
TIM3->CR1=0x0080;//ARPE使能
TIM3->CR1|=0x01; //使能定时器3
}
void TIM1_PWM_Init(u16 arr,u16 psc)
{
RCC->APB2ENR|=1<<11;//使能TIM1时钟
RCC->APB2ENR|=1<<2;//使能PORTA时钟
TIM1->  SC=psc; //设置分频系数
TIM1->ARR=arr; //设置自动重装值
GPIOA->CRH&=0XFFFFFFF0;
GPIOA->CRH|=0X0000000B;//设置为复用推挽输出,输出频率为50MHZ
TIM1->CCMR1|=6<<4;
TIM1->CCMR1|=1<<3;//输出CH2预装使能
TIM1->CCER|=1<<0;//OC1输出使能
TIM1->CR1|=1<<7;//自动重装使能
TIM1->CR1|=1<<0;//使能定时器1
}[/mw_shl_code]
[mw_shl_code=c,true]后来看了别人的代码在TIM1_PWM_Init()里面加了句 TIM1->BDTR|=1<<15;就两个都PWM波能同时变了,看了手册还是不明白,不懂,原子哥指点下,谢谢了[/mw_shl_code]
|