Gast
#182595
Hallo, ich habe mich an folgendem Problem festgebissen und komme im Forum und mit Datenblatt nicht weiter. Irgendwas habe ich nicht verstanden. Ich will ein pulsweitenmoduliertes Signal am Pin B4 (OC0)des Atmega 32 ausgeben. Dazu habe ich eine LED angeschlossen. Das kontinuierliche Hellerwerden der LED geht, das Brennen mit z.B. halber Stärke geht nicht. (Habe auch Quelltexte aus diesem Forum ausprobiert) Kann mir bitte jemand auf die Sprünge helfen (auch wenn's eventuell schon mal irgendwo stand?) Danke, Jörg Details: Folgender Quelltext geht, die LED wird heller: #include <avr/io.h> #include <avr/delay.h> int main (void) { DDRB=0xff; PORTB=0x00; int i; TCCR0 = (_BV(WGM00) | _BV(COM01) | _BV(COM00) | _BV(CS00)); while(1) {for (i=0;i<255;i=i+1) {OCR0=i; _delay_loop_2(20000);}} } Folgender Quelltext geht nicht, die LED brennt immer mit maximaler Helligkeit: #include <avr/io.h> int main (void) { DDRB=0xff; PORTB=0x00; int i; TCCR0 = (_BV(WGM00) | _BV(COM01) | _BV(COM00) | _BV(CS00)); while(1) {OCR0=0x00;} //LED sollte aus sein, genausowenig geht 0x10... }