Guten Morgen zusammen,
ich bastel gerade an einer Interupt-Geschichte rum, allerdings stellen sich hier ein paar Fragen:
Die Interuptverbindung soll beim Hochstarten des Roboters (IRC5) hergestellt werden.
Im Anschluss soll die Steuerung einen bestimmten Eingang auf Low überwachen. Sobald dies geschieht, soll der Roboter stehen bleiben und eine Meldung ausgeben.
Ich hab das folgendermaßen gelöst:
Interuptverbindung wird im Init_START() wie folgt hergestellt:
!** Interuptverbindung beliebigerName
IDelete int_IntVar;
CONNECT int_IntVar with ir_IntRoutine;
ISignalDI di_Dummy,0,int_IntVar;
Die Interuptroutine sieht folgendermaßen aus:
TRAP ir_IntRoutine
!*****************************
!** Prüfung ob beliebiger Eingang low ist
!*****************************
Rob_Stop;
WHILE di_Dummy=0 DO
TPErase;
TPWrite "Eingang di_Dummy ist nicht 1!";
Waittime 1;
ENDWHILE
Rob_Start;
ENDTRAP
Alles anzeigen
Nun stellt sich mir die Frage, ob die While-Schleife zur Überwachung des Eingangs in der Traproutine unbedingt notwendig ist. Läuft die Interuptroutine zyklisch durch solang der Interupt ausgelöst ist?
Können Interuptverbindungen auf auf mehrere Eingänge überwacht werden oder muss das über Gruppeneingänge realisiert werden? Beispiel:
Vielen Dank schonmal für eure Antworten