Parece que no puedo encontrar una respuesta a esto en google o en la guía definitiva ...
¿Es posible desde una interrupción, cancelar el retorno a cualquier interrupción anticipada? Por ejemplo, tengo un ISR que se llama cuando un proceso impulsado por interrupciones necesita ser abortado. Presumiblemente, habré estado en un ISR cuando se active esta interrupción, así que me gustaría restablecer el estado de mi máquina de estados y cancelar la finalización del procesamiento del estado anterior ya que hubo un error. Sé que podría establecer una bandera volátil pero luego necesitaría verificarla constantemente en el código de proceso normal. Preferiría una forma mucho más directa y determinista de cancelar la interrupción anticipada.
Información adicional de los comentarios
Tengo un sistema de 2 procesadores con un bus de comando / control SPI. El esclavo espera un comando del maestro, luego lo ejecuta y envía una respuesta de vuelta. Esto se maneja con algunas señales de handshaking ya que la serie STM32F4 tiene un diseño inútil de hardware CS. El problema que estoy experimentando con mi otra pregunta es que después de algún tiempo, los datos devueltos al maestro desde un comando son un completo disparate (específicamente el último valor recibido por el esclavo x la longitud de transferencia). El maestro es capaz de detectar este error y envía una señal de cancelación. Cuando se reciba, quiero que el esclavo cancele su transferencia DMA / SPI y que su máquina de estado vuelva a esperar un comando. Puedo restablecer la máquina de estado sin problemas, solo quiero asegurarme de que cuando finalice el aborto ISR, no vuelva a continuar con un DMA o USB ISR que ya no es válido.