Ich hatte mich zu Beginn vielleicht etwas undeutlich ausgedrückt, was
evtl. auch auf fehlendes KnowHow zurückzuführen ist.
Über die PWM steuere ich einen Motor-Treiber an. Nun dürfen beide PWMs
nicht gleichzeitig laufen. Ansonsten kommt es dazu, dass der Motor
anhält. Nun wollte ich eigentlich das so machen, dass der Wert für die
Motorgeschwindigkeit über ein Register entsprechend gemapped wird. War
hier aber nachhinein nicht nötig.
Ich nutzte das A und B Register eines Timers, was mir ausreicht. Das
ganze funktioniert nun soweit.
Jedoch steht noch die Frage nach dem Deaktivieren der PWM aus.
Desweiteren macht es was, wenn ich jedes mal den DDR setze bzw lösche?
Gibt es da einen unteschied zu einer "last_" Variable, die dann in einer
Anweisung abgefragt wird
Pseudocode
1 | static int last_val = 0;
|
2 | if(last_val != val)
|
3 | {
|
4 | if(!val) OCR1A = 0;
|
5 | else OCR1A = val;
|
6 |
|
7 | last_val = val;
|
8 | }
|