Jan
Bei Interrupts gibt es nicht viel zu beachten.
Du musst sie definieren und beim Anlauf der CPU aktivieren, zum Beispiel mit dem Anlaufmerker.
Ich lege dafür immer einen Baustein an, den ich Initialisierung (SBRxx) nenne.
Diesen rufe ich im OB (Main) mit SM0.1 (FirstCycle) auf.
Außerdem erstellt man einen Interrupt-Baustein (INTxx).
In diesen Baustein kommt der Programmteil, der bei einem bestimmten Ereignis ausgeführt werden soll, z. B. einen Zählerwert schreiben oder einen Merker setzen.
Im Initialisierungs-Baustein (SBRxx) definiert man mit dem Befehl ATCH, was passieren soll.
An den Eingang INT des ATCH-Befehls kommt der Name des Interrupt-Bausteins und an EVENT die entsprechende Nummer, je nachdem welche Funktion oder welches Ereignis verwendet werden soll.
Das ist im Grunde schon alles und relativ einfach umzusetzen.
Ein kleiner Tipp noch:
Wenn du die CPU per Software von RUN auf STOP setzt und danach wieder auf RUN, funktionieren die Interrupts nicht mehr.
Die CPU muss dafür einen echten Neustart durchführen, z. B. nach Netz aus oder nach dem Übertragen eines Programms.
Ich erwähne das nur, weil ich darüber selbst schon gestolpert bin und zuerst den Fehler bei mir gesucht habe.


