mikrocontroller.net

Forum: Compiler & IDEs Scheduler vs. Flags


Autor: Hans (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich habe gerade den Scheduler von Peter Danegger getestet und bin 
begeistert über die Möglichkeiten, die sich da bieten. Trotzdem stelle 
ich mir gerade die Frage, ob es bei meinem Projekt überhaupt sinvoll 
wäre einen Scheduler einzusetzen.

Konkret geht es darum, dass ich ca. 10 bis 15 Funktionen habe, die immer 
nach  Ablauf des ihnen zugewiesenen Zeitablaufs aufgerufen werden. Die 
Periodendauer der einzelnen Funktionen reicht hier von 200ms bis 24h. 
Wobei beim Großteil der Funktionen die Periodendauer unter 1 Minute 
liegt. Nicht berücksichtigt dabei sind Wartezeiten für Schreibvorgänge 
am LCD, EEPROM oder Wartezeiten am I2C. Da meine Anwendung trotz dieser 
Wartezeiten problemlos in Echtzeit laufen kann, weiß ich nicht ob es nun 
sinvoller wäre die 14 Flags, sowie andere Wartezeiten per Scheduler zu 
ersetzen, oder das Programm einfach zu belassen wie es ist. Die 
Übersichtlichkeit und Nachvollziehbarkeit wäre mittels Scheduler 
höchstwahrscheinlich um einiges besser, jedoch zweifle ich daran, dass 
die SRAM Belastung (1600 von 4096 Byte) sinken würde.

Welche Alternativen würdet ihr ganz im allgemeinen vorschlagen?

Danke und Grüße Hans

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ein Scheduler braucht mehr SRAM, wenn alle möglichen Delays auch 
gleichzeitig aktiv sein können, da er noch den Funktionspointer mit 
speichern muß.

Wenn aber z.B. von 100 möglichen Delays nur max 30 gleichzeitig 
auftreten, dann muß der Scheduler nur SRAM für 30 Delays reservieren und 
spart dann.


Aber auch bei mehr SRAM-Belegung kann die bessere Übersichtlichkeit und 
leichtere Änderbarkeit einen Scheduler lohnen.

Insbesondere die Erweiterbarkeit eines Programms, ohne die bereits 
vorhandenen Funktionen zu beeinflussen, ist sehr schön.


Peter

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.