Dos interrupciones para una sola operación

1

Estoy usando el controlador infineon XC866-1FR para mi proyecto. Para el control del motor, necesito excitar la bobina mediante la combinación de dos interrupciones externas (interrupción externa 1 & & interrupción externa 2) a la vez. ¿Puedo hacer una sola operación utilizando el resultado de la operación AND de dos interrupciones externas?

    
pregunta user37000

1 respuesta

1

Esto suena como una mala idea:

  • Las interrupciones deben ser independientes entre sí, de lo contrario se pueden producir condiciones de carrera y puntos muertos muy desagradables.
  • Solo una interrupción puede ejecutar el código a la vez.
  • Las interrupciones son activadas por bordes de señal, no por nivel de señal.

Todo esto significa que será muy difícil detectar cuándo ocurre la condición que deseas y cuándo se detiene.

Si desea hacer esto en el software, deberá ejecutar un bucle que sondee las dos señales para detectar si ocurre la situación. Si su MCU no tiene nada más que hacer, esto puede ser muy rápido & confiable, pero otras interrupciones pueden alterar el tiempo.

Si el sondeo no es lo suficientemente rápido porque la condición solo dura muy brevemente, necesitará un poco de hardware externo, como una puerta AND, para combinar las dos señales y desencadenar una interrupción. Esto detectará eventos muy breves.

Para extremadamente preciso y amp; Para generar una señal rápida, puede usar la señal AND como activador externo para un temporizador.

    
respondido por el EvertW

Lea otras preguntas en las etiquetas