Gast
#3024573
Hallo, ich befasse mich seit kurzem mit MC und möchte mich so Schritt für Schritt mit den verschiedenen Themen ausernandersetzten. Bin gerade mit den Timer beschäftigt. Timer-Interrupt habe ich durch und funktioniert auch einwandfrei. Doch beim PWM happerts. Das folgende Programm will und will nicht funzen, komme einfach nicht dahinter, warum die LED (PB2) nicht leuchtet. Hardware funktioniert, wenn ich PB2 ohne PWM auf 1 setzte, leuchtet die LED auch. Was ist da falsch? MC = Antiny 2313 Danke schon im Vorraus. LG Willi /* * Timer_2313__Fast_PWM.c * * Created: 29.01.2013 20:10:57 * Author: willi */ #define F_CPU 1000000UL #include <avr/io.h> #include <util/delay.h> int main(void) { uint8_t i; DDRB |= (1<<PB2); // PB2 auf Ausgang stellen. Dieser Pin trägt auch die Bezeichnung OC0 und ist der Pin an dem der Timer 0 seine PWM ausgibt OCR0A = 250; TCCR0A = (1<<WGM01) | (1<<WGM00); TCCR0B = (1<<CS01); // Vorteiler 8, Fast PWM 8 Bit TCCR0A = (1<<COM0A1); while(1) { OCR0A = 30; _delay_ms(1000); OCR0A =200; _delay_ms(1000); for (i=0; i < 255; ++i) { OCR0A = i; _delay_ms(10); } } }