Hallo Leute, ich möchte ein PWM Signal erzeugen. Dabei soll es so sein, daß ich verschiedene Puls/Pausenverhältnisse machen möchte, also auf Knopfdruck verschiedene Stufen erzeugen möchte. Meine Periodendauer des PWM-Signals beträgt 2ms Ich habe mir das jetzt so gedacht: Mein CPU ist mit 20MHz getaktet. Das führt zu einer Periodendauer von 50ns. Mein Timer hat einen Prescaler von Fcpu/8 (Resolution 0.400 us) Das bedeutet doch jetzt, daß der Timer alle 0.400 us zeinen Zählerstand um 1 erhöht. Da mein Signal 2ms lang sein soll, rechne ich also 2ms/0.400us = 5000. Nach 5000 Takten also hätte ich 2ms zusammen. 5000 entspricht 0x1388 in Hexadezimaler Darstellung. Also würde ich doch meinen Timer mit 0x1388 reloaden. Der Timer würde also zum Zeitpunkt 0 hochlaufen mit 0x1388 und dann wieder bei 0 beginnen und immer beim Überlauf einen Interrupt machen. Wenn ich nun sage er soll mit 1/10 den Motor fahren würde er im Timer schauen welchen wert er gerade hat, würde den für die Pausenzeit nötigen Wert hinzuaddieren und wenn er diesen WErt erreicht hat das Signal vom Ausgang nehmen, anschließend für den Rest bis 2 ms den Ausgang auf 0 halten. Da ich sowas noch nie gemacht habe wäre es nett wenn mir jemand sagen könnte, ob meine Überlegung mit dem Timer so zutreffend ist, oder ob das Quatsch ist. Danke Wachtl
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.