Forum: Mikrocontroller und Digitale Elektronik Idle-Mode und Timer bei ATmega128


von Thomas Thiry (Gast)


Lesenswert?

Hallo zusammen!

Ich beschäftige mich gerade mit den diversen Interruptmethoden bei o.a.
Mikrocontroller. Ich habe heute versucht ein ganz einfaches Programm
mit CodeVision AVR zu schreiben: Ich will den Prozessor in den
Idle-Mode versetzen.
Nun möchte ich den Timer0 hochzählen lassen, bis das
Timer0_Overflow_Interrupt_Flag gesetzt ist. Dann möchte ich aus dem
Idle-Modus raus und in die entsprechende Interruptroutine und dort
irgendwelchen Code einsetzen (in meinem Fall will ich dann abfragen, ob
ein Taster auf meinem Testboard gedrückt ist).

Ich habe es versucht; aber irgendwie hat der Timer nie hochgezählt und
beim Debuggen mit AVRStudio war dann eine "Endlosschleife" bei der
sleep-Anweisung. Könnte mir da jemand weiterhelfen?

Vielen Dank im Vorraus!

von Conlost (Gast)


Lesenswert?

Hallo,
hast du den Globalen Interrupt freigegeben?

von Thomas Thiry (Gast)


Lesenswert?

Ich denke schon:
#asm("sei");

von Conlost (Gast)


Lesenswert?

Aha, war nur so eine Idee, aber mit C-Code stehe ich auf Kriegsfuß.
Davon bekomme ich immer Kopfschmerzen, muss wohl eine angeborene
Fehlfunktion meinerseits sein.
Tut mir leid, au mein Kopf. :-)

Gruß,
Arno

von Fritz Ganter (Gast)


Lesenswert?

Poste mal den Sourcecode (auch wenn Arno Kopfschmerzen bekommt).

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.