Delay mit Keil µVision für den XC167

Gast #848316
Lesenswert?
• ▲
▼
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
#1892962
Lesenswert?
• ▲
▼
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.

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.