Red de conocimientos turísticos - Conocimientos sobre calendario chino - Utilice STM32CubeIDE para escribir el método de interrupción del temporizador EC11

Utilice STM32CubeIDE para escribir el método de interrupción del temporizador EC11

La dirección de publicación original usa STM32CubeIDE para escribir EC11

Como se puede ver en la figura anterior, al girar EC11, en el flanco ascendente de la fase A, el nivel alto de la fase B significa rotación en el sentido de las agujas del reloj, y el nivel bajo de la fase B significa rotación en el sentido de las agujas del reloj. Entonces aprovechamos esta característica y usamos la función de captura del temporizador de STM32 para capturar el nivel de la fase A y luego compararlo con el nivel de la fase B para determinar la dirección de rotación.

Primero, necesitamos encender el temporizador TIM3. Usamos este HAL_TIM_IC_Start_IT(htim, Channel);

Utilice la función de devolución de llamada del temporizador

void HAL_TIM_IC_CaptureCallback(TIM_HandleTypeDef *htim)

Escriba el programa anterior en el interior, porque conectamos la fase B al pin PA7, por lo que use la instrucción switch case para determinar el nivel del pin. Si el microcontrolador detecta que la fase A es de nivel alto, ingresará esta interrupción para determinar el nivel de la fase B. El nivel bajo es inverso y el nivel alto es extremadamente directo (programa). El cnt adentro es para contar).

Después de probar la impresión de datos a través del puerto serie, EC11 es muy estable y no hay pérdida de pasos ni saltos aleatorios.

­sticos All Rights Reserved.