mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Wartefunktion will nicht


Autor: Heinz (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nabend.


Ich möchte mit dem Timer1 eine Wartezeit von ca 1/4 s (at 16 MHz) 
realisieren.

Folgende Einstellungen des Timer:
  TCCR1B=(1<<CS12)|(1<<CS10);  // Clock/1024
  OCR1AH=62;


Und die Wartefunktion sieht so aus:
void warte(unsigned int ms)
{  
  TCNT1L=0;    // TCNT wird auf 0 gesetzt
  TCNT1H=0;
  TIFR=0;     // Flag wird zurückgesetzt
  while((TIFR&0b00010000)==0);
}


Die Wartefunktion wartet aber leider nicht so lang wie erwartet. Was 
mache ich falsch?

Autor: spess53 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

> TIFR=0;     // Flag wird zurückgesetzt

Nein. Ein Interruptflag wird durch Schreiben einer 1, nicht einer 0 
gelöscht.

MfG Spess

Autor: Heinz (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Jup, funktioniert. Danke! ;)

Autor: Johannes M. (johnny-m)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Heinz wrote:
>   OCR1AH=62;
> [...]
>   TCNT1L=0;    // TCNT wird auf 0 gesetzt
>   TCNT1H=0;
Das geht in beiden Fällen schief! Bitte mal in AVR 16-Bit-Register 
reinschauen.

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.