Hi zusammen, ich würde gerne in mein Programm eine Verzögerung reinprogrammieren von ca. 1s, eigentlich ist die Zeit egal, ich möchte nur eine Diode ein- und ausschalten so, dass man sie noch blinken sieht. Habe da was von der Delay Funktion gehört, wie lautet dieser Befehl genau und was muss ich alles für Headers includen? Danke
Hallo, ich habe für diesen Zweck einen Timer genommen. Habe ihn so initialisiert, dass er in Abständen von 1ms einen Interrupt auslöst. Will ich nun eine bestimmte Zeit warten, setze ich mit einer Funktion eine globale Variable auf die zu wartende Zeit in Millisekunden und starte den Timer. Der Timer zählt nun im Interrupt die Variable herunter und stoppt wenn diese Null erreicht. Im Programm polle ich nun diese Variable und laufe erst weiter, wenn diese Null erreicht hat. So habe ich mir die Suche nach fertigen Funktionen erspart. Auch musste ich mir keine Warteschleife selbstbauen. Natürlich hat diese Vorgehensweise den Nachteil, das der Controller nichts anderes machen kann, wärend er wartet. Für meine Anwendung war es egal, da es zu dem Zeitpunkt nichts anderes zu tun gibt. Wenn Du nur eine LED blinken lassen willst, kann dies komplett in der Interruptroutine gemacht werden. Einfach den Überlauf des Timers entsprechend timen und in der Routine den Ausgang toggeln. Dies hat den Vorteil, dass der Controller in der Hauptschleife noch Arbeit leisten kann. Grüße Christian Edit: Ups, zu spät aufs Datum geschaut. Naja, vielleicht hilft es anderen weiter.
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.