Timer Atmega8

Gast #525489
Lesenswert?

Hallo und einen schönen guten Tag zusammen...

Ich möchte mit Hilfe eines Timers eine 10 sekündige Warteschleife 
programmieren...
[Atmega8, benutzen möchte ich den 16bit Timer]

folgendes habe ich bis jetzt verstanden....bzw. nicht verstanden

//----------------------------------------------------------------------

TIMSK |= _BV(TOIE1); //aktivieren des Überlaufinterrupts von Timer1

--> wozu dient mir der Interrupt ?
irgendwo wird doch eine "1" reingeschrieben, wenn ich bei 2^16 bin ?
wie kann ich diese 1 dann benutzen, um z.b eine Led anzuschalten ?


TCCR1B = _BV(CS12) | _BV(CS10); //Prescaler definieren(aus Datenblatt: 
101 cs12,cs11,cs10) = 1024 Prescaler

--> das ist soweit klar

TCNT1 = 55771; //Zählregister vorladen für 10sek.

--> zählt also noch bis 2^16...meiner rechnung nach müssten dann 10 sek. 
vorvbei sein !


--> also ich möchte eigentlich jetzt nur nach 10 sekunden etwas 
ausführen...um genauer zu sein möchte ich jetzt nicht unbedingt eine led 
anschalten, sondern es soll sich ja um eine warteschleife handeln. 
Deswegen möcht ich nach 10 sekunden wieder weitermachen mit meinem 
programmcode....
wie kann ich das realisieren ?


Vielen dank für eure hilfe

mfg hans

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren