Quiero crear un PWM a 100kHz que puede tener 1000 pasos. p.ej. cuando establezco CCR1 en 0%, el PWM está desactivado y cuando configuro CCR1 en 499 debería ser del 50% y, obviamente, en CCR1 = 999, debería tener un ciclo de trabajo completo del 100%.
La CPU_CLK es 80MHz ... pero no puedo lograrlo. Aquí está mi código hasta ahora:
htim1.Instance = TIM1;
htim1.Init.Prescaler = 0;
htim1.Init.CounterMode = TIM_COUNTERMODE_CENTERALIGNED2;
htim1.Init.Period = 1000-1;
htim1.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1;
htim1.Init.RepetitionCounter = 0;
htim1.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_ENABLE;
Esto me da un PWM con una frecuencia de 40 kHz ... muy por debajo de 100 kHz ... el Prescalare ya está en el mínimo ... ¿es esto imposible de lograr?
El chip es STM32L476.