www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Delay mit Keil µVision für den XC167


Autor: Anfänger (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Christian Rambow (crambow)
Datum:

Bewertung
0 lesenswert
nicht 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

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.