bestimmte Zeit warten

Gast #90718
Hallo!

Und noch eine Frage: Wie kann ich mit dem ATmega8 eine bestimmte Zeit
warten??
Das findet man in diesem Tutorial ja leider (noch) nicht.

Ich hatte vor so ca. 1 sek. zu warten. "noop" müsste man ja ziemlich
oft eingeben. WIe macht man es sonst??


Gruß!
Gast #90720
"Ich hatte vor so ca. 1 sek. zu warten. "noop" müsste man ja
ziemlich
oft eingeben."

Du kannst auch cut&paste machen, bei 8MHz dann 8 Millionen mal :-)

SCNR
Gast #90721
Hi Johannes!
Ich hab das z.B. so gelöst:

void delay_ms (int x) {
int c=0;
TIFR &=  ~(1<<TOV0);    //Lösche Timer Overflow Flag in TIFR
                        //(Timer Interrupt Flag Register)

  while (c < x) {
  TCNT0=0xEF;  //  Preload Timer0 value for 1ms steps
                        // (0xEF = 239)
  if (TIFR & (1<<TOV0)) {    //Kontrolliere, ob TOV0-Bit in
                                   //TIFR gesetzt ist
    c++;
    TIFR &=  ~(1<<TOV0);
  }
  }
}

wenn man jetzt z.B. 100ms warten will -> delay_ms(100);

gruß,
semo

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 22 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

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.