Zitat Zitat von Vitis
Der Timer löst eine Interrupt-Routine aus, am einfachsten jede 1 sekunde.
dort inkrementierste ne variable, und baus aus if - then ne verzweigung,
die die subprozeduren e1 e10 e60 aufruft.
Hallo Vitis,

bzgl. Timer und Interrupt-Routine ist mir das soweit klar. Aber wenn
ich aus der Interrupt-Routine heraus mit Gosub die Sub-Prozeduren
aufrufe, springe ich doch anschließend wieder in die Interrupt-Routine
zurück? Die Laufzeit der Interrupt-Routine wäre dann doch zzgl. der
für die Sub-Prozeduren zu sehen ...

Mein Ansatz war daher, in der Interrupt-Routine nur Zähler für E1, E10
und E60 zu inkrementieren und dann in der Main-Loop mit IF/Then eine
entsprechende Verzweigung aufzubauen. Dann dürfte die Laufzeit der
Sub-Prozeduren keine Rolle spielen ...

Allerdings kann der Anwender die Main-Loop auch verlassen (Menü) und
ich würde dann trotzdem gerne die Sub-Prozeduren weiterhin aus-
führen.

Allgemein wird doch gesagt, die Laufzeit der Interrupt-Routine soll
möglichst kurz sein. Wenn ich nun hingehe und in der Interrupt-Routine,
oder einer von dort aufgerufenen Sub-Prozedur, bspw. Ports umschalte,
oder den AD-Port abfrage, oder I2C-Befehle absetze ist das dann zeit-
kritisch in Bezug auf "neuer Interrupt kommt, alter aber noch nicht abgearbeitet" zu sehen?

Muss ich wohl testen, ob das so geht ...

@PickNick
Menü merken und wieder zurück etc. ist 'nen bisschen aufwendig ... Ich
könnte aber wohl die Menü-Tastaturabfrage so ändern, das die Events
auch dort abgearbeitet werden.


- Reinhard -