做飞行器。。。
定时器4,arr是19999,psc是71,输出了周期20ms的波形,我没设置比较值,结果他自动输出百分之20的波形,很奇怪 啊。。
要知道,百分之20的波形是全速啊。。。差点出人命
void timerr(u16 arr,u16 psc)
{
TIM_TimeBaseInitTypeDef timer;
TIM_OCInitTypeDef initt;
RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM4,ENABLE);
timer.TIM_Period=arr;
timer.TIM_Prescaler=psc;
timer.TIM_ClockDivision=TIM_CKD_DIV1 ;
timer.TIM_CounterMode=TIM_CounterMode_Up;
TIM_TimeBaseInit(TIM4,&timer);
initt.TIM_OCMode=TIM_OCMode_PWM1;
initt.TIM_OutputState=TIM_OutputState_Enable;
initt.TIM_OCPolarity=TIM_OCPolarity_High;
TIM_OC4Init(TIM4,&initt);
TIM_OC3Init(TIM4,&initt);
TIM_OC2Init(TIM4,&initt);
TIM_OC1Init(TIM4,&initt);
TIM_OC4PreloadConfig(TIM4,TIM_OCPreload_Enable);//?????¤×°??
TIM_OC3PreloadConfig(TIM4,TIM_OCPreload_Enable);
TIM_OC2PreloadConfig(TIM4,TIM_OCPreload_Enable);
TIM_OC1PreloadConfig(TIM4,TIM_OCPreload_Enable);
TIM_Cmd(TIM4,ENABLE);
}
|