ICh verwende Advacned Timer (TIM1).
Laut der Datasheet kann man dieser Timer im Encoder Interface Mode treiben lassen.
Weiters steht drinn, dass der Counter countet herauf oder herunter nach der Drehrichtung des Encoders.
das klingt schön für mich bis ich auf diesem Satz gestolppert und zwar Einstellung des TaktCounter.
Ich habe versucht den TIMer wie folgt zu konfigurieren, können Sie bitte einen kurzen Blick daruaf werfen, und mir sagen ob was noch fehtl bzw. falsch ist.
Daanke für Ihre Hilfe.
void TIMX_Encoder (void)
{
//-------------------Encoder-Interface
TIM_EncoderInterfaceConfig(TIM1, TIM_EncoderMode_TI12,TIM_ICPolarity_Rising, TIM_ICPolarity_Rising);
//-------------------Configure the TI1 as Input
TI1_Config(TIM1, TIM_ICPolarity_Rising,TIM_ICSelection_DirectTI,0);
//-------------------Configure the TI1 as Input
//TI2_Config(TIM1, TIM_ICPolarity_Rising,TIM_ICSelection_DirectTI,0x0 0);
//-------------------UG
TIM_UpdateRequestConfig(TIM1,TIM_UpdateSource_Regu lar );
//-------------------Timer_Base Unit
TIM1_Configuration.TIM_CounterMode =TIM_CounterMode_CenterAligned3;
TIM1_Configuration.TIM_ClockDivision =0;
TIM1_Configuration.TIM_Prescaler =60;
TIM_TimeBaseInit(TIM1,&TIM1_Configuration);
//-------------------TIM1 Enable
TIM_Cmd(TIM1, ENABLE);
}
Lesezeichen