Zur Codebox aus #259:
Erstmal gilt, was Thomas bereits sagte:
In der ersten Zeile werden aber beide PWM-Beine vom Timer abgekoppelt (disconnected) - die funktionieren als normale Beine.
In der zweiten Zeile wird das B-Bein (OC1B) an den Timer gekoppelt (und liefert 'ne PWM), das A-Bein (OC1A) wird abgekoppelt.
In der dritten Zeile wird B abgekoppelt, und A angekoppelt.
In der Vierten werden wieder beide abgekoppelt.
Beide Beine ankoppeln würdest Du wie gehabt mit
Jede dieser Zeilen konfiguriert den Timer entsprechend neu (rekonfiguriert).
Ok, Du müßtest Dir also den derzeitigen Zustand in einer Bit-Variable merken. Nach erkannter Tasterbetätigung läßt Du an Abhängigkeit dieser Variable (If) entweder die eine oder die andere (re)Konfiguration ausführen, anschließend toggelst Du die Bit-Variable.
Erstmal gilt, was Thomas bereits sagte:
Also alle Zeilen versetzen den Timer in den phasenkorrekten 8-Bit-PWM-Mode (dual slope - er zählt zwischen 0 und 255 hin und her), außerdem wird er immer mit Vorteiler 64 an den Systemtakt gekoppelt.Ich zerlege den Befehl mal:
Config Timer1 = Pwm
Der Timer1 läuft also im PWM Betriebsmodi
Prescale = 64
Mit einem 64tel der Systemfrequenz
Compare A Pwm = Clear Down
Compare B Pwm = Clear Down
In der ersten Zeile werden aber beide PWM-Beine vom Timer abgekoppelt (disconnected) - die funktionieren als normale Beine.
In der zweiten Zeile wird das B-Bein (OC1B) an den Timer gekoppelt (und liefert 'ne PWM), das A-Bein (OC1A) wird abgekoppelt.
In der dritten Zeile wird B abgekoppelt, und A angekoppelt.
In der Vierten werden wieder beide abgekoppelt.
Beide Beine ankoppeln würdest Du wie gehabt mit
Config Timer1 = Pwm , Prescale = 64 , Compare A Pwm = Clear Down , Compare B Pwm = Clear Down
Jede dieser Zeilen konfiguriert den Timer entsprechend neu (rekonfiguriert).
Ok, Du müßtest Dir also den derzeitigen Zustand in einer Bit-Variable merken. Nach erkannter Tasterbetätigung läßt Du an Abhängigkeit dieser Variable (If) entweder die eine oder die andere (re)Konfiguration ausführen, anschließend toggelst Du die Bit-Variable.