Hallo Experten, habe folgendes Problem: mit meinem mega8 generiere ich ein fast pwm. Habe folgendes gemacht: /* PWM Configuration **********************************/ sbi(DDRB,PB1); // Pin PB1 autput for PWM outp(0x83, TCCR1A); // Config 10 bit fast pwm outp(0x09, TCCR1B); // Prescaler und fast pwm Den Wert für das Verhältnis stelle ich so ein: void set_pwm(unsigned int pwm) { unsigned char h, l; h = pwm >> 8; // inhalt um 8 bit verschieben l = (pwm & 0x00FF); // bit 9 und 10 abschneiden outp(h, OCR1AH); outp(l, OCR1AL); } Es funktioniert soweit auch richtig, nur das ich den Wert Null% nicht ganz erreiche. Ich habe immer noch einen ganz kleinen Peak auf meinem Scope. Auch wenn ich outp(0x00, OCR1AH); outp(0x00, OCR1AL); schreibe, sehe ich noch einen kleinen Peak, so als würde mein minimum pwm 1 sein. 100% wird dagegen erreicht. Was kann das sein ??? Danke schon im voraus. Mattias
Hi Datenblatt gelesen? Seite 89? Viertletzter Absatz? Da wo If the OCR1x is set equal to BOTTOM(0x0000) the output will be a narrow spike for each TOP+1 timer clock cycle. steht? Nein? Aha! ;-) Matthias
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.