Forum: Mikrocontroller und Digitale Elektronik bestimmte Zeit warten


von Johannes Meyer (Gast)


Lesenswert?

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ß!

von Chris (Gast)


Lesenswert?


von Fritz Ganter (Gast)


Lesenswert?

"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

von semo (Gast)


Lesenswert?

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

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
Noch kein Account? Hier anmelden.