void TIM3_PWM_Init(u16 arr,u16 psc)
{
RCC->APB1ENR|=1<<1; //TIM3 时钟使能
RCC->APB2ENR|=1<<3; //使能 PORTB 时钟
GPIOB->CRL&=0XFF0FFFFF; //PB5 输出
GPIOB->CRL|=0X00B00000; //复用功能输出
RCC->APB2ENR|=1<<0; //开启辅助时钟
AFIO->MAPR&=0XFFFFF3FF; //清除 MAPR 的[11:10]
AFIO->MAPR|=1<<11; //部分重映像,TIM3_CH2->
B5
TIM3->ARR=arr; //设定计数器自动重装值
TIM3->
SC=psc; //预分频器不分频
TIM3->CCMR1|=7<<12; //CH2 PWM2 模式
TIM3->CCMR1|=1<<11; //CH2 预装载使能
TIM3->CCER|=1<<4; //OC2 输出使能
TIM3->CR1=0x0080; //ARPE 使能
TIM3->CR1|=0x01; //使能定时器 3
}
还有就是四路PWM都分别可调吗?
{
RCC->APB2ENR|=1<<3;
RCC->APB2ENR|=1<<0; //AFIO
RCC->APB1ENR|=1<<1;
GPIOB->CRL&=0xff0fff00;
GPIOB->CRL|=0x00b000bb;
AFIO->MAPR&=0xfffff3ff;
AFIO->MAPR|=2<<10;
TIM3->ARR=arr;
TIM3->PSC=psc;
TIM3->CCMR1|=3<<13; //CH2
TIM3->CCMR1|=1<<11;
TIM3->CCER|=1<<4;
TIM3->CCMR2|=3<<5; //CH3
TIM3->CCMR2|=1<<3;
TIM3->CCER|=1<<8;
TIM3->CCMR2|=3<<13; //CH4
TIM3->CCMR2|=1<<11;
TIM3->CCER|=1<<12;
TIM3->CR1|=1<<7; //APRE使能
TIM3->CR1|=1<<0;
}
CH1通道不可以输出,应该是配置问题。。
一周热门 更多>