如標題,用TIM2 CH2 輸出PWM 正常,替換為 TIM5 則無法工作。還請給予幫助。
void TIM5_PWMOut_Init(u16 arr, u16 psc, u16 ccp) //PA1管腳PWM輸出控制發(fā)光管電流
{
? ? GPIO_InitTypeDef GPIO_InitStructure={0};
? ? TIM_OCInitTypeDef TIM_OCInitStructure={0};
? ? TIM_TimeBaseInitTypeDef TIM_TimeBaseInitStructure={0};
? ? RCC_APB2PeriphClockCmd( RCC_APB2Periph_GPIOA, ENABLE );
? ? RCC_APB1PeriphClockCmd( RCC_APB1Periph_TIM5, ENABLE );
? ? GPIO_InitStructure.GPIO_Pin = GPIO_Pin_1;
? ? GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;
? ? GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
? ? GPIO_Init( GPIOA, &GPIO_InitStructure );
? ? TIM_TimeBaseInitStructure.TIM_Period = arr;//定時器周期
? ? TIM_TimeBaseInitStructure.TIM_Prescaler = psc;//預(yù)分頻
? ? TIM_TimeBaseInitStructure.TIM_ClockDivision = TIM_CKD_DIV1;//時鐘分頻
? ? TIM_TimeBaseInitStructure.TIM_CounterMode = TIM_CounterMode_Up;//計數(shù)模式
? ? TIM_TimeBaseInit( TIM5, &TIM_TimeBaseInitStructure);
? ? TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_PWM1;
? ? TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable;
? ? TIM_OCInitStructure.TIM_Pulse = ccp;
? ? TIM_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_High;
? ? TIM_OC2Init( TIM5, &TIM_OCInitStructure );
? ? TIM_CtrlPWMOutputs(TIM5, ENABLE );
? ? TIM_OC2PreloadConfig( TIM5, TIM_OCPreload_Disable );
? ? TIM_ARRPreloadConfig( TIM5, ENABLE );
? ? TIM_Cmd( TIM5, ENABLE );
}