Gast
#1017692
Hallo In einem normalen Programm für Mikrocontroller werden Funktionen wie Anzeige aktualisieren, Daten speichern, COM-Ports abfragen ja in der Hauptschleife nacheinander abgearbeitet. Man kann die Abarbeitung auch noch von z.B. zeitlichen Kreterien abhängig machen (Anzeige all 100ms aktualisieren). So kommt jede Funktion bei einem Hauptschleifendurchlauf zwar zur Ausführung, aber die HS wird entsprechnd lang, und eine Anzeig mit 10 Hz ist z.B. nicht möglich). Ich möchte ein Manager erstellen der diese einzellnen Funktionen (Tasks) aufruft. Dabei sollen Tasks entsprechned ihres Zustandes, eines Mindestzeitintervall oder in Abhängigkeit vom Betriebszustand des Gerätes, entsprechned häufig ausgeführt werden. So muss z.B. eine COM-Abarbeitungsroutine nicht bei jedem HS-Durchlauf aufgerufen werden, wenn keine Daten im Empfangsbuffer sind. Auch brauch eine Anzeige nicht mit 10 Hz aktualisiert werden, wenn im aktuellen Betriebszustand gar keine neuen Messwerte ermittelt werden. Die so gesparrte Zeit soll anderen Tasks zu gute kommen. Ich möchte kein RealTime OS, welches die Tasks mitten in der Abarbeitung anhält und die Prozessorkapazität an andere Tasks übergibt, und den angehaltenen Taks später weiterführt. Eine einmal aufgerufener Taks läuft so lange, bis die Funktion/Teilfunktion abgearbeitet ist. Erst dann kommt der Taskmanager wieder zum Zuge und ruft die nächste oder auch die Gleiche Funktion auf. Gibt es zu dieser Thematik Informationen im Netz? Hat sich damit schon mal jemand beschäftigt? Ich würde ja die Suchfunktionen (Forum, Googel) benutzrn, weiß aber nich nach was ich suchen soll. Dankende Grüße Steffen