Warten.abe elegant!

Gast #3247592
Lesenswert?
• ▲
▼
Mahlzeit zusamme.

Ich hab mich heut morgen beim mittag gefragt ob  es eigentlich eine 
elegantere Moeglichkeit gibt als per timer interrupt fuer eine bestimmte 
Zeit (s,min)zu warten...mir ist nichts eingefallen.....und bevor ich 
wieder in der Luft zerrissen werde...die library delay.h id mir bekannt 
nur is die alles andere als elegant
Gast #3247605
Lesenswert?
• ▲
▼
tobi schrieb:
> Ich hab mich heut morgen beim mittag gefragt

Lol, die Studenten von heute :-)

tobi schrieb:
> ob  es eigentlich eine
> elegantere Moeglichkeit gibt als per timer interrupt fuer eine bestimmte
> Zeit (s,min)zu warten...

Klar: Beliebigen Timer starten und damit eine Variable bei jedem 
Interrupt hochzählen. Im Hauptprogramm zyklisch die Variable abfragen, 
wenn gerade Zeit dafür da ist. Ist Variablenwert >= Wartezeit, dann ist 
die Zeit rum. Fertig. In der Industrie Standard schon seit 
Menschengedenken.

tobi schrieb:
> die library delay.h id mir bekannt
> nur is die alles andere als elegant

delay.h ist ja eigentlich auch nur dafür da, damit man KURZE und 
halbwegs definierte Zeiten (wie bei der Initialisierung von LCDs z.B.) 
warten kann.
Gast #3247607
Lesenswert?
• ▲
▼
Kommt drauf an wie lange du warten musst.

wenige µSec ( < als die Zeit die benötigt wird um den Timer zu 
konfigurieren, Starten und den abschließenden IRQ auszuführen ) ==> 
einfache loop mit NOP

Alles was länger dauert ==> Timer
Gast #3247984
Lesenswert?
• ▲
▼
tobi schrieb:
> Mahlzeit zusamme.
>
> Ich hab mich heut morgen beim mittag gefragt ob  es eigentlich eine
> elegantere Moeglichkeit gibt als per timer interrupt fuer eine bestimmte
> Zeit (s,min)zu warten...mir ist nichts eingefallen.....und bevor ich
> wieder in der Luft zerrissen werde...die library delay.h id mir bekannt
> nur is die alles andere als elegant

Hallo;
ich finde hierfür beispielsweise die Verwendung eines RTOS elegant.

Beispiel: FreeRTOS, sofern für deinen Controller verfügbar.
Es gibt jecoch noch weitere kostenlose RTOS Systeme.

Gruß

PS:
Die Verwendung eine RTOS mag vielen "oversized" vorkommen.
Ich finde es auch bei kleineren Projekten hilfreich.

Mag jedoch jeder selber endscheiden ;-)

Antwort schreiben

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.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.