Muss da nicht irgendwo TIMSK bedient werden?
Ich hab ein kleines Problem, da bei meinem Atmega32 der OCR1B kanal nichts ausgibt. Den Chip hab ich schon mit nem Bascom Programm getestet. Er funktioniert wunderbar. Der Fehler liegt mal wieder an meinem Progam. Da dieses ziemlich umfangreich ist, hab ichs mal aufs notwendige reduziert. Auch hier gehts noch nicht. Bei OCR1A kommt das PWM Signal (soll übrigens ein Signal mit Clock / 1024 und 10bit sein, keine FAST PWM sondern die normale Standard) Im datenblatt ist es der Modus #3 (auf Seite 109). Also wer kann mir sagen, warum sich bei PinD4 nichts tut!
Vielen Dank schonmal im Voraus!!!
Code:DDRD = (1 << PD4); DDRD = (1 << PD5); TCCR1A = (1<<COM1B1)|(1<<COM1A1)|(1<<WGM11)|(1<<WGM10); TCCR1B = (1<<CS12)|(1<<CS10); OCR1A = 50; OCR1B = 50; while (1) { ; } return 0;
Muss da nicht irgendwo TIMSK bedient werden?
Ciao sagt der JoeamBerg
Weil du den Pin als Eingang definiert hast.Also wer kann mir sagen, warum sich bei PinD4 nichts tut!
Denk mal über diese beiden Codezeilen ein wenig nach:
DDRD = (1 << PD4);
DDRD = (1 << PD5);
MfG
Stefan
Vielen Dank! Da hat sich auf mikrokontroller.net Tutorial ein fehler eingeschlichen
http://www.mikrocontroller.net/artic...nmodulation.29
Wo denn, ich sehe da auf die Schnelle keinen.Da hat sich auf mikrokontroller.net Tutorial ein fehler eingeschlichen
Oder meinst du etwa die Zeile "DDRB = (1 << PB1 );"?
Die ist doch richtig.
MfG
Stefan
Es ist das richtig:
DDRD = (1 << PD4);
DDRD |= (1 << PD5);
oder besser:
DDRD |= (1 << PD4) | (1 << PD5);
Ach jetzt fällts mir wie schuppen von den Augen! Dankeschön!
Lesezeichen