¿Cómo contar el número del pulso PWM generado en stm32?

0

Tengo un motor paso a paso en TIM2 CH1. Cuando se presiona un botón, el motor funciona. ¿Cómo contar los pasos (pulsos) que generó el PWM mientras se presionaba el botón?

    
pregunta Márton Antal

1 respuesta

1

Utiliza otro temporizador como esclavo para contar TIM2 reloads.

  • Elige un segundo temporizador como esclavo. Verifique la descripción del registro SMCR en el Manual de referencia para ver si se puede esclavizar a TIM2 . TIM5 sería una buena opción ya que tiene un contador de 32 bits.
  • Establezca TIM2 como maestro, active la salida en la actualización ( MMS bits en CR2 ). Generará una salida de activación cuando se vuelva a cargar el contador de PWM.
  • Establece TIM5 como esclavo. Primero, verifique la tabla al final de la descripción del registro SMCR . Busque TIM2_TRGO (el maestro) en la fila correspondiente a TIM5 (el esclavo). Tenga en cuenta la configuración de TS=xxx en el encabezado de la columna, este valor entra en los bits de TS de SMCR . El Modo esclavo ( SMS ) debe ser Modo de reloj externo ( 111 = 0x07 ). Ahora, TIM5 contará las recargas de TIM2 , efectivamente los ciclos PWM.
  • Habilita primero el esclavo ( TIM5 ), luego el maestro ( TIM2 ).
respondido por el berendi

Lea otras preguntas en las etiquetas