Forum: PC-Programmierung Timer Atmega8


von hansmaulwurf (Gast)


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

von Severino R. (severino)


Lesenswert?

Du bist im falschen Forum.

Poste Deine Frage im Forum "µC & Elektronik", da wirst Du geholfen... 
;-)

Severino

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.