TIM2_CH2重映射到PB3输出PWM,部分映射和全映射都不行,JTAG和SWD也关了,怎么都出不了PWM。求原子哥和各位高手指点!
void TIM2_PWM_Init(u16 arr,u16 psc,u16,ccr2){
RCC->APB1ENR|=1<<0;
//TIM2时钟使能
RCC->APB2ENR|=1<<3;
//使能PORTB时钟
GPIOB->CRL&=0XFFFF0FFF;
//PB3输出
GPIOB->CRL|=0X0000B000;
//复用功能输出
RCC->APB2ENR|=1<<0; //开启IO辅助功能时钟
AFIO->MAPR&=0XFFFFFCFF; //清除MAPR的[9:8]
AFIO->MAPR|=1<<8; //部分重映像,TIM2_CH2->
B3
TIM2->ARR=arr-1;
//设定计数器自动重装值
TIM2->
SC=psc;
//预分频器不分频
TIM2->CCMR1|=7<<12;
//CH2 PWM2模式
TIM2->CCMR1|=1<<11;
//CH2预装载使能
TIM2->CR1&=0<<4;
//计数器向上计数
TIM2->CCER|=1<<4;
//OC2输出使能
TIM2->CCR2=ccr2;
TIM2->EGR|=1<<0;
//重新初始化计数器
TIM2->CR1=0x8000;
//ARPE使能
TIM2->CR1|=0x01;
//使能定时器2
}
---------------------------------
不重映射是正常的,可以出PWM。论坛上也有人有同样的问题,如:http://www.openedv.com/posts/list/2422.htm
求原子哥和各位高手帮忙解决一下,万分感谢!
---------------------------------
在主函数里,最开始初始化的时候。TIM3_CH2重映射没有任何问题,很正常。TIM2_CH2重映射就是不行,唉。
一周热门 更多>