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
Eleganter geht wohl nur so: a) Externer Sekundenimpuls --> PinChange Interrupt --> zählen b) Externe Real Time Clock mit Alarmfunktion
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.
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
Ups, beim Durchlesen fällt mir auf, dass ich was Wesentliches übersehen habe. sorry, beachtet meine Antwort einfach nicht :-)
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 ;-)
Da ich gern mit Events arbeite, mach ich sowas mit nem "delayed_Event". Ist m.E. die eleganteste Version und braucht auch kein umständliches RTOS. W.S.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.