• Domingo 22 de Diciembre de 2024, 14:14

Autor Tema:  Como Crear Interrupcion  (Leído 1439 veces)

hecktor00

  • Miembro activo
  • **
  • Mensajes: 85
    • Ver Perfil
Como Crear Interrupcion
« en: Domingo 3 de Octubre de 2004, 23:13 »
0
como  se crea una interrupcion.
mi situacion es esta utilizo assembler para saber el estado del puerto paralelo,pero en algunas ocasiones no detecta el dato enviado por el puerto.

el  codigo se encuentra dentro de un timer.

mov dx,dir puerto
in al, dx;

lo que necesito es q cuando dectecte la interrupcion p.ej del pin (BUSY) ,vaya y ejecute las acciones, sin necesidad de utilizar el timer.
.......::::::......:.::::::::::Norte Veracruz Mexico....

Amilius

  • Miembro HIPER activo
  • ****
  • Mensajes: 665
    • Ver Perfil
Re: Como Crear Interrupcion
« Respuesta #1 en: Jueves 21 de Octubre de 2004, 23:10 »
0
El problema es que en windows las "interrupciones" no son como en DOS. Las cosas se complican por que tienes corriendo varios programas a la vez, problemas de seguridad, etc. Generalmente el sistema operativo detectará los eventos generados por el hardware y enviará un "mensaje" a todas las aplicaciones que corresponda.

Por lo que estas cosas en windows se hacen respondiendo a mensajes.

En el siguiente ejemplo el procedimiento CMExit sólo será llamado si windows envia el mensaje "CM_MOUSELEAVE" dicho mensaje será enviado si el cursor del ratón abandona el componente notificado.

Citar
type
  TCMExit = TWMNoParams;
...
    procedure CMExit(var Message: TCMExit); message CM_MOUSELEAVE;
...
procedure CMExit(var Message: TCMExit);
begin
  ....
end;

Creo que buscar un OPEN SOURCE para manejo de puerto paralelo en windows te resolvería bastantes dudas y te permitiría modificarlo para suplir tus requerimientos.