Quadrature changes my frequency to random values.
Hi,
I've been trying to have a output quadrature and I somehow managed to do it with this code.
void TIM3_Configuration_positive_quadrature(void)
{
TIM_OCInitTypeDef TIM_OCInitStructure;
int Period;
Period = 1000 / 1; // 1 Hz - 1 second on, 1 second off duty
TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_Toggle;
TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable;
TIM_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_High;
TIM_OCInitStructure.TIM_Pulse = (Period * 1) / 4; // CH3 at 25%
TIM_OC3Init(TIM3, &TIM_OCInitStructure);
TIM_OCInitStructure.TIM_Pulse = (Period * 3) / 4; // CH4 at 75%, ie half cycle later
TIM_OC4Init(TIM3, &TIM_OCInitStructure);
}
I set the frequency to 1500 Hz and run the quadrature function above but when I do it I see the quadrature on the oscilloscope but the frequency changes value continuosly to random values (for example 340, 420, 383, 540 Hz and so on) and can't understand what causes it.
Any help is appreciated :)
