Gast
#217414
Ich sitze hier schon ein paar Stunden über dem Datenblatt des ATmega8, über der GCC-Faq hier und der ein oder anderen "kleinen" Anleitung zu PWMs, aber ganz durchsteigen tu ich noch immer ned. Ok Stur abschreiben ginge, aber das macht keinen Spass lol Das PWM Prinzip an sich ist kein Problem (ist hier auch super erklärt), nur welche Register jetzt genau was machen verwirrt mich sehr. Deshalb wäre ich echt dankabar, wenn sich hier jemand die Zeit nimmt und mal überfliegt was ich mir so zusammegesponnen habe - und ob es passt. TCCR0: –; –; –; –; –; CS02; CS01; CS00; TCCR1A: COM1A1; COM1A0; COM1B1; COM1B0; FOC1A; FOC1B; WGM11; WGM10 TCCR1B: ICNC1; ICES1; WGM13; WGM12; CS12; CS11; CS10 TCCR2: FOC2; WGM20; COM21; COM20; WGM21; CS22; CS21; CS20 Die drei sind die Register zum Einstellen der 3Timer. Die CSxx sind für die Prescaler. => CS1x für Timer 1 (PWM 1 und 2) => CS2x für Timer 2 (PWM 3) Die WGMxx geben den Modus für den jeweiligen Counter an. => WGM1x für Timer 1 (PWM 1 und 2) => WGM2x für Timer 2 (PWM 3) Die COMxxx geben die Ausgabeart an => COM1Ax für Timer1 Ausgang1 (PWM 1) => COM1Bx für Timer1 Ausgang2 (PWM 2) => COM2x für Timer2 (PWM 3) OCR1AH; OCR1AL; OCR1BH; OCR1BL; OCR2 Sind die Output Compare Register der Timer. Da gehört der Zielwert fürs PWM rein OCR1AL = PWM1 OCR1BL = PWM2 OCR2 = PWM 3 (ich will nur 8bit daher nur die low Register) Stimmt das so in etwa? Oder bin ich komplett auf dem falschen Weg?