void PWM_Init_TIM3_CH1(u16 arr, u16 psc)
{ //1、使能TIM3时钟 RCC->APB1ENR |= 1 << 1;//使能TIM3时钟 //2、配置对应引脚(PA6)的复用输出功能 GPIOA->CRL &= 0XF0FFFFFF;//PA6清0
GPIOA->CRL |= 0X0B000000;//复用功能输出(推挽50MHz输出)
GPIOA->ODR |= 1 << 6;//PA6上拉 //3、设定计数器自动重装值及是否分频 TIM3->ARR = arr;//设定计数器自动重装值(决定PWM的频率)
TIM3->PSC = psc;//预分频器 0为不分频
//4、设置PWM的模式
TIM3->CCMR1 |= 7 << 4;//CH1 PWM2模式
TIM3->CCMR1 |= 1 << 3;//CH1预装载使能
//5、输出使能设置 TIM3->CCER |= 1 << 0;//输入/捕获1输出使能 //6、自动重装载预装载允许位(ARPE) 及 定时器 使能 TIM3->CR1 = 0X0080;//ARPE使能
TIM3->CR1 |= 0X01;//使能定时器3
}
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
一周热门 更多>