Hallo, mein Projekt (mit ATMega32) beinhaltet u.a. DCF77-Empfang, den ich ueber einen Interrupt (INT0, an PD2) realisiert habe, der auf die Flanken des Signals reagiert. Funktioniert soweit wunderbar. Nun wollte ich noch eine PWM verwenden, um die Hintergrundbeleuchtung des Displays zu dimmen. Dazu habe ich noch den Timer2 angeschmissen:
1 | TCCR2 |= (1<<CS20); |
2 | TCCR2 |= (1<<WGM21) | (1<<WGM20); |
3 | TCCR2 |= (1<<COM21) | (0<<COM20) ; |
4 | |
5 | |
6 | DDRD |= (1<<PD7); |
7 | |
8 | pwmValue = 255; |
9 | OCR2 = pwmValue; |
Soweit, so gut. Display leuchtet maximal (da pwmValue = 255), der Interrupt fuer DCF wird weiter munter gefeuert. Aendere ich jetzt pwmValue auf irgendwas kleiner als 255, wird hoert das einfach auf. Die Interrupt-Funktion wird einfach nicht mehr aufgerufen. (die PWM funktioniert aber wunderbar). Hat jemand eine Idee, woran das liegen koennte? Viele Gruesse, Martin Nachtrag: Bei OCR2 = 0 funktioniert es so halbwegs, da wird der Interrupt zumindest manchmal ausgeloest.