Está en la página 1de 1

Interrupciones

9 Interrupciones
El programa utiliza las interrupciones para tener la posibilidad de tratar directamente
un evento, independientemente de qué instrucción se esté ejecutando en cada
momento.

Por ejemplo, el programa se interrumpe cuando se cambia a uno el valor de una entrada
determinada. Cuando esto se produce, se interrumpe el programa normal y se ejecuta
una rutina TRAP especial. Una vez ejecutada completamente la rutina, la ejecución del
programa se reanuda en el punto en que se interrumpió.

9.1 Principios de programación


Cada interrupción tiene asignada una identidad de interrupción. Obtiene su identidad
mediante la creación de una variable (del tipo de datos intnum) y conectándola a una
rutina TRAP.

A partir de ese momento, la identidad de interrupción (variable) se utiliza para solicitar


una interrupción, es decir, para especificar el motivo de la interrupción. Puede tratarse
de uno de los eventos siguientes:

- Cambio del valor de una entrada o una salida a uno o a cero.


- Transcurre un intervalo determinado después de la petición de una interrupción.
- Se alcanza una posición determinada.

Cuando se solicita una interrupción, ésta queda activada automáticamente, pero es


posible desactivarla temporalmente. Esto puede realizarse de dos formas:

- Es posible desactivar todas las interrupciones. Todas las interrupciones que se


produzcan durante este intervalo se sitúan en una cola y se generan
automáticamente cuando se activen de nuevo las interrupciones.
- Es posible desactivar interrupciones concretas. Las interrupciones que se
produzcan durante este intervalo se descartan.

9.2 Conexión de interrupciones a rutinas TRAP


Instrucción Finalidad:
CONNECT Conectar una variable (una identidad de interrupción) a una
rutina TRAP

Descripción general de RAPID 37

También podría gustarte