Hallo, ich möchte gerne eine PWM OCR2A anhand einer simplen Formel berechnen lassen. Allerdings führt das Ergebnis zu 0 wenn ich z.b. ~33% PWM mit dieser Formel erzeigen möchte: OCR2A = (10/30)*256; ergibt 0 OCR2A = 0.3333*256; ergibt 33% also 85 auf OCR2A Kann mir jemand sagen wieso Variante 1 nicht funktioniert? Danke & Gruß µC
Weil als integer dividiert wird, alles nach dem Komma wird also "abgeschnitten". Übrigens: multipliziere mit 255, sonst verlässt du den 8-Bit wertebereich!
µC schrieb: > Kann mir jemand sagen wieso Variante 1 nicht funktioniert? Weil (10/30) als Ganzzahl gerechnet 0 ergibt. 0 * 256 = 0. Du musst die Formel umstellen:
1 | OCR2A = 256 * 10 / 30; |
Dann kommt wie erwartet 85 raus.
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.