Forum: Mikrocontroller und Digitale Elektronik Atmega32 ISR Problem


von Willi_woebsi (Gast)


Lesenswert?

grüß euch

ich hab folgendes Problem beim Programmieren meines Atmega32

.) ich hab eine while schleife die auf ein ereignis wartet
1
while(timer_count)
2
{
3
/bla
4
}
5
6
//anschließend ausgabe und while(1)
.)timer_count wird im main initialisiert mit 1
.)eine ISR zählt hoch und setzt timer_count dann auf 0
1
ISR(TIMER0_OVF_vect)
2
{
3
  TCCR0=0;//Timer deaktivieren
4
  timer_help++;
5
   if(timer_help>10)
6
  { 
7
    timer_count=0;
8
    timer_help=0;
9
  }
10
11
  TCCR0=0b101;//Timer mit Prescaler 1024 aktivieren
12
}

-> sollte nach 10 maligen aufrufen der ISR eigentlich aus der while 
schleife springen
-> macht er aber nicht

ich hab mir timer_help und timer_count anzeigen lassen...
die zählen brav rauf und timer_count wird auf 0 gesetzt...

kann mir da wer helfen???

lg
willi

von Hc Z. (mizch)


Lesenswert?

Was in Deiner Darstellung fehlt, ist die Definition von timer_count 
(insbesondere, ob es volatile ist).

von Justus S. (jussa)


Lesenswert?

volatile vergessen?

von Willi_woebsi (Gast)


Lesenswert?

volatile vergessen jah...
kommt davon wenn man den fehler in der ISR sucht
ihr seits die besten

VIELEN DANK

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.