Gast
#301426
Hallo und Guten Morgen! Ich versuche mich an meiner ersten PWM, einfach mal um eine LED ein-und auszuschalten. Dazu verwende ich eine STK500 und flashe einen AT90S8515. Irgendwas ist falsch, da die LED nicht blinkt. Vielleicht kann ja jemand mal den (primitiven) Quellcode ueberfliegen und mir sagen warum's nicht geht. Bei dem Vergleichswert bin ich mir ueberhaupt nicht sicher, und weiss nicht, ob das ueberhautp so richtig ist. Vielen herzlichen Dank Lara #include<avr/io.h> void init(void) { DDRB=(1<<PB5)|(1<<PB0); //Port B.5 als Ausgang PORTB=(1<<PB5)|!(1<<PB0); //LED 5 aus, LED 0 an } void pwm(void) { TCCR1A=(1<<PWM11)|(1<<PWM10)|(1<<COM1A1); //Timer1 als nichtinvertierende 10Bit-PWM aktiviert //Obergrenze (10Bit-Auflösung: 4 MHz/2046 = 1,96 kHz) TCCR1B=(1<<CS12)|(1<<CS10); //Vorteiler f/1024 (4 MHz/1024 = 3,9 kHz) } int main(void) { init(); pwm(); for (;;) { OCR1A=0x0200; //Vergleichswert: 512 } }