void PWM_Init(u16 arr,u16 psc)//arr:自动重装值 psc:时钟预分频数
{
//此部分需手动修改IO口设置
RCC->APB1ENR|=1<<1; //TIM3时钟使能
RCC->APB2ENR|=1<<4; //使能PORTC时钟
RCC->APB2ENR|=1<<0; //开启辅助时钟
GPIOA->CRH&=0XFFFFFFF0;//PA8输出
GPIOA->CRH|=0X00000004;//浮空输入
GPIOA->CRL&=0X0FFFFFFF;//PA7输出
GPIOA->CRL|=0XB0000000;//复用功能输出
GPIOA->ODR|=1<<7;//PA7上拉
GPIOC->CRL&=0X0FFFFFFF;//PC7输出
GPIOC->CRL|=0XB0000000;//复用功能输出
GPIOC->ODR|=1<<7;//PC7上拉
TIM3->ARR=arr;//设定计数器自动重装值
TIM3->  SC=psc;//预分频器不分频
TIM3->CCMR1|=7<<12; //CH2 PWM2模式
TIM3->CCMR1|=1<<11; //CH2预装载使能
TIM3->CCER|=1<<4; //OC2 输出使能
AFIO->MAPR|=0x00000C00; //端口映射,完全映射 TIM3_REMAP[11:10]=11
// AFIO->MAPR|=1<<11; //端口映射,完全映射 TIM3_REMAP[11]=1
// AFIO->MAPR|=1<<10; //端口映射,完全映射 TIM3_REMAP[10]=1
TIM3->CR1=0x8000; //ARPE使能
TIM3->CR1|=0x01; //使能定时器3
}
红色字的那句我不是很理解,大伙帮解答一下,谢谢了!
|