Ach mist, weiter oben ist jetzt ein Bischen was durcheinander gekommen, weil ich erst nicht wusste, dass das OCR0A beim 16bit Timer durch zwei andere ersetzt wird.
Ach mist, weiter oben ist jetzt ein Bischen was durcheinander gekommen, weil ich erst nicht wusste, dass das OCR0A beim 16bit Timer durch zwei andere ersetzt wird.
Das Beispielprogramm über PWM ganz unten auf http://www.rn-wissen.de/index.php/Ti...nter_%28Avr%29
verwirrt mich jetzt grade nicht wenig.
Es wird ein 16bit Timer verwendet (muss ja, da der 8bit Timer nichts mit PWM zutun hat).
Dann wird bei Punkt 2. gesagt, dass die WGM10/12 Bits auf auf TCCR1A/TCCR1B verteilt sind (auf http://www.mikrocontroller.net/artic...A4hler_des_AVR steht das ja ganz anders), aber gut, das liegt dann wohl daran dass es ein anderer Chip ist.
Was ich dann aber gar nicht verstehe ist, wie dort OCR1A/OCR1B verwendet werden. Erstens dachte ich, dass die bei einem 16bit Timer OCR1H/OCR1L heißen, also H und L für High und Low, weil ja beide zusammen nur Eine große Zahl darstellen.
Da der 8bit PWM-Modus gewählt wurde steht da auch, dass nur bis 255 gezählt wird und der OCR-Wert also zwischen 0 und 255 liegen muss. Das heißt man darf eigentlich nur OCR1L benutzen, weil das erste Bit in OCR1H ja 256 ist.
Aber die in dem Beispiel setzten beide einfach auf 127, womit man doch eine zahl > 32k hat. Das ist um einiges größer als 255. Wo liegt mein Denkfehler?
Ganz oben wird außerdem gesagt, dass das PWM-Signal an PD5/OC1A und PD4/OC1B ausgegeben wird. Heißt das man hat an beiden PINs einfach das selbe Signal oder kommen da verschiedene an (wenn verschiedene ankommen, wo wurde dann gesagt wie der zweite sich bei Compare Match bzw. Überlauf verhalten soll?).
Lesezeichen