STM32: reinicio del codificador del temporizador

2

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 pulsador con una interrupción en él) y no encuentro una función de reinicio. Estoy ejecutando un STM32F103 con solo StdPeriph Lib.

    
pregunta vib

1 respuesta

4

Debes escribir una para ti basándose 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;
}

Entonces, un 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 ingresas en reference manual , puede ver que el registro de valores de contador tiene acceso de lectura-escritura. Así que puedes configurarlo en 0.

Tambiénpuedecrearunafuncióndeconjuntogeneralconunparámetro"valor" adicional.

    
respondido por el Bence Kaulics

Lea otras preguntas en las etiquetas