三:TIMx_CCRx寄存器,确定PWM的占空比。 TIMx_CCR1—TIMx_CCR4确定定时器的CH1—CH4四路PWM的占空比。直接给该寄存器赋0—65535值即可确定占空比。占空比计算方法:TIMx_CCRx的值除以ARR寄存器的值即为占空比,因为占空比在0—100%之间,所以一般TIMx_CCRx寄存器值不能超过ARR寄存器的值,否则可能会引起PWM的频率或占空比的准确性。 TIMx_CCRx寄存器如下图所示: STM32 PWM输出函数(举例TIM3-CH2) void PWM_Init(u16 arr,u16 psc) { RCC->APB1ENR|=1<<1; //TIM3时钟使能
GPIOA->CRL&=0X0FFFFFFF;//PA7输出 GPIOA->CRL|=0XB0000000;//复用功能输出 PWM模式 TIM3->ARR=arr;//设定计数器自动重装值 TIM3->PSC=psc;//预分频器不分频 TIM3->CCMR1|=6<<12; //CH2 PWM2模式(高电平为占空比) TIM3->CCMR1|=1<<11; //CH2预装载使能 TIM3->CCER|=1<<4; //OC2 输出使能 TIM3->CR1=0x8000; //ARPE使能 TIM3->CR1|=0x01; //使能定时器3 }
新手上路,如有错误,欢迎指正。
|