Configuré mi TIM4 como entrada de codificador y todo funciona bien cuando ejecuto TIM_GetCounter(TIM4) Pero me gustaría volver a poner el valor del temporizador en 0 (¿reiniciar?) cuando presiono un botón con una interrupción) y no 't encontrar una función de reinicio. Estoy ejecutando un STM32F103 con solo StdPeriph Lib.
Debe escribir uno para usted basado en la función 'obtener':
uint32_t TIM_GetCounter(TIM_TypeDef* TIMx)
{
/* Check the parameters */
assert_param(IS_TIM_ALL_PERIPH(TIMx));
/* Get the Counter Register value */
return TIMx->CNT;
}
Así que TIM_ResetCounter
debería verse así:
void TIM_ResetCounter(TIM_TypeDef* TIMx)
{
/* Check the parameters */
assert_param(IS_TIM_ALL_PERIPH(TIMx));
/* Reset the Counter Register value */
TIMx->CNT = 0;
}
Si revisa el manual de referencia , puede ver que el registro del valor del contador tiene acceso de lectura y escritura. Así que puedes ponerlo a 0.
También puede crear una función de conjunto general con un parámetro de "valor" adicional.