Moin.
Ein 7-Segment-Display wird über ein Schieberegister 74HC595 und ein ULN2803 als "Treiber" angesteuert. Der OE-Pin (Output Enable) des 595 hängt an einem ATMega644 an PB3 (OCR0A). Der Plan dahinter: Die Helligkeit der LEDs steuern.
Wenn ich in einer While-Loop den Pin mit z.B. 200 Hz "manuell" mit verschiedenen Pulsweiten an- und abschalte, dann wirds schon dunkler. Versuch ich das ganze mit PWM, leuchten die LEDs mit voller Helligkeit weiter.
Hackts da jetzt beim Code für die PWM-Init (siehe unten) oder ist der OE-Eingang für "echte" PWM einfach zu lahm?
Mit dem Code würde ich eigentlich erwarten, dass die Helligkeit der Anzeige zyklisch durchläuft. Passiert aber wie gesagt nicht.Code:DDRB |= (1 << DDB3); TCCR0A = (1 << WGM00) | (1 << COM0A0) | (1 << CS00) |(1 << CS02); TIMSK0 |= (1 << OCIE0A); sei(); while(1) { OCR0A++; _delay_ms(25); }
Oder ist da irgendwo ein Bit, das ich noch übersehen hab?
mfG
Lesezeichen