-
-
Erfahrener Benutzer
Roboter Genie
Ich nehm mal an, Du meinst mit OC0 den Timer0. Es geht mit jedem Timer, aber eben nur in seiner Timer-Funktion, und nicht in seiner PWM-Funktion. Wir benutzen also die Hardware, um unsere Software-PWM darauf aufzubauen.
Anfangs stellen wir den Timer auf einen Wert ein, dass er uns 1000mal die Sekunde aufgerufen wird, das bedeutet 1kHz ( = 1000 Hz). Und in diesem Timer laufen wir dann nach und nach eine Variable ab. Diese Variable ist quasi unser Messstab. An diesem schauen wir dann jeden Timeraufruf nach, ob die PWM nun wieder in den AUS-Modus gehen muss, so dass die richtige Spannung herauskommt.
Frag ruhig alles, was Du wissen willst.
Übrigens: Ich bin kein BASCOM-Benutzer, daher weiß ich nicht, wie der Code genau lauten müsste.
Ich kann Dir also nur den Ablauf erklären und anhand von Pseudo-Code darstellen.
Und Deine Fragen:
- Timer0 mit dem Takt konfigurieren - genau!
- Das Hochzählen ist die Basis für die PWM - genau! Aber das hat noch nix mit einem Port zu tun.
- Den Wert der Ausgangsspannung bestimmst Du mit PWM_SOLL_WERT - genau! Und genau hier wird der Port dann benutzt.
Welche Zeilen mehr hättest Du denn gern im Code?
Mit diesem System kannst Du sehr viele unterschiedliche PWMs gleichzeitig steuern.
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen