Necesito crear un retraso de 100 microsegundos para STM32L0 usando HAL. Tengo HSE 12 MHz. APB1 temporizador relojes 12MHz.
htim6.Instance = TIM6;
htim6.Init.Prescaler = 1199;
htim6.Init.CounterMode = TIM_COUNTERMODE_UP;
htim6.Init.Period = 1;
Cuando tengo un bucle de 50000 iteraciones que envuelven las llamadas al temporizador TIM6 básico de inicio / parada de sondeo ( HAL_TIM_Base_Start
), entonces tengo un retraso de 10 segundos en lugar de 5 segundos (el bucle externo sirve solo para la escala de tiempo). ¿Es normal? He esperado 50000 * 100 microsegundos = 5 segundos. ¿Debo usar otro temporizador? Necesito + -10 microsegundos delta. Por cierto, STM32L0 HAL no contiene una "versión de microsegundos" de HAL_delay
.