-
-
Erfahrener Benutzer
Roboter Genie
Ich hab nochmal deinen Code angeschaut, diesmal genauer:
Das kann nicht gehen, du hast eine Endlosschleife von Ausgabe bis goto Ausgabe, dh das CCP Modul wird jedes mal neu gestartet. Das ist nicht weiter schlimm, aber auch nicht hübsch.
Was schlimm ist, ist, dass du ihm überhaupt keine Zeit lässt, das PWM-Signal auch zu senden, du aktivierst es und schaltest es 3 Befehle später wieder ab, da kann ja nichts zu erkennen sein!
Bau eine Pausenschleife ein, oder teste erstmal nur mit einem eingeschalteten Signal. Dann sollte auch der Logic Analyser was anzeigen.
EDIT:
GANZGANZ WICHTIG! Das kann nicht klappen, wenn Timer2 nicht läuft. Du benutzt den Befehl MOVLW D'1' MOVWF T2CON,
Dabei setzt du nur Bit0, für den Prescaler, aber Bit2 bleibt auf null, damit läuft der Timer nicht! Also wird er auch nie Zählen und den PWM Wert erreichen, woraufhin das ganze den Pegel wechselt. Schreibe entweder eine D'5' in T2CON oder mache anschließend den Befehl BSF T2CON,2. Mit letztem bist du immer auf der sicheren Seite, da dieser Befehl nur das entsprechende Bit setzt, egal was in dem Register steht.
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen