Gast
#2128479
Hallo, ich habe ein Problem mit dem PWM und zwar, kommt einfach gar
nichts bei dem Pin raus(PD5/ 0CR1A). Ich habe es jetzt schon zweimal
versucht, einmal mit meinem Code und ein zweites mal mit einem aus dem
Internet. In beiden fällen passiert einfach gar nichts.
#define PULSE_WIDTH 0x40
#include <avr/io.h>
#include <stdint.h>
// TCCR1A = 0x81
// |COM1A1|COM1A0|COM1B1|COM1B0|FOC1A|FOC1B|WGM11|WGM10|
// 1 0 0 0 0 0 0 1
// 8 bit PWM mode - nicht invertierende PWM
//======================================================
// TCCR1B = 0x04
// |ICN1|ICES1| - |WGM12|WGM12|CS12|CS11|CS10|
// 0 0 0 0 0 1 0 0
// takt = cpu*/256
void pwm(){ //ausgabe auf PortD pin5 'OC1A'
OCR1AL = PULSE_WIDTH; //Load Pulse width
OCR1AH = 0;
DDRD |= (1<<5); //PortD.5 as o/p
TCCR1A = 0x81; //8-bit, Non-Inverted PWM
TCCR1B = 0x04; //Start PWM
}
Die Funktion rufe ich dann in einer Endlossschleife in main auf. Das ist
die Version aus dem Internet. Man könnte doch jetzt erwarten das die LED
etwas leuchtet, nur tut sie gar nichts. :(
Ich glaub ich übersehe hier irgendwas?