Timer in Mikrocontroller
-
Hallo.
Ich mal wieder
Ich hab einen Controller M32C/83 M30833FJFP (Mitsubishi) der unter ANSI C
programmiert werden kann. In diesem brauche ich ca 40 Timer.
Die Timer sollten startbar sein, wenn ich es benötige und sich zurückmelden,
wenn die Zeit abgelaufen ist.
Mein Problem ist im Moment, das ein Auslesen der Uhrzeit unheilich viel
Leisutng kostet. Und was anderes fällt mich im Moment nicht ein.
Das Programm läuft in einer while-Schleife für immer oder bis kein Strom
mehr da ist.Die Laufzeit eines Durchlaufs der While-Schliefe zu messen und dann immer eine
Zahl zu addieren ist auch nicht gut, das der Programmcode noch sehr oft umprogrammiert
oder optimiert wird.Kennt sich wer mit dem Prozessor aus, oder hat wer ne Idee, wie ich das über die
Uhrzeit doch regeln könnte, aber nicht in jedem Durchlauf die Zeit auslese?Und wie würde die Funktion für den Timer aussehn?
Danke für ein paar Tipps
-
^^
starte einen hardware-timer mit der nötigen frequenz, lass ihn periodisch interrupts auslösen und damit deine software-timer weitertickern.
-
@Krumnix: Die Beschreibung was du willst ist imho total ungenau. Wie brauchst du die 40 Timer? Wie sollen sie "sich zurückmelden"?
-
Naja, ich muss ja irgendwie dem Timer sagen, starte jetzt.
Dann zählt es seine Zeit irgendwie zusammen.
Und wenn wer fertig ist, sollte er sich zurückmelden, das die Zeit abgelaufen
ist.Also z.B. real Startwert, Zeitwert;
int Timer_Starten, Timer_Abgelaufen.Jedoch ist das Problem ja, das die Zeiten sich durch unterschiedliche
Programmaufrufe ändern können.Interups sind alle für RS-232 und Speicheranbindungen belegt. Das Ding hat
soviel ich weiß nix mehr frei -.-