Hatte mich vertippt. Den Code meinte ich:
Code:Config Timer3 = Pwm , Pwm = 10 , Compare A Pwm = Clear Up , Prescale = 1 Pwm3a = 100 do loop
Hallo,
hat jemand ein Stückchen Bascom Code für mich. Ich muss beim Mega128 über OC3A eine PWM Frequenz ausgeben.
Irgendwie gelingt es mir nicht mit diesem Code
Wo ist der Fehler?Code:Config Timer3 = Pwm , Pwm = 10 , Compare A Pwm = Clear Up , Prescale = 1 Pwm1a = 100 do loop
Hatte mich vertippt. Den Code meinte ich:
Code:Config Timer3 = Pwm , Pwm = 10 , Compare A Pwm = Clear Up , Prescale = 1 Pwm3a = 100 do loop
Ist der jeweilige Pin als Ausgang gesetzt?
#ifndef MfG
#define MfG
Ja das hab ich
Config Pine.4 = Output
pwmport Alias Porte.4
Schreib mal Config PortE.4 statt PinE.4.
Aus irgend nem Grund gibts da anscheinend nen Unterschied. Aber keine Ahnung warum. (Zumindest bei mir mag er Config Pinx.y nicht; nur Portx.y)
#ifndef MfG
#define MfG
Nö, das mit dem Port stimmt schon. Wenn ich pwmport=1 eingebe geht motor ja an. Nur PWM geht nicht.
Probier bitte trotzdem mal PortE statt PinE. Viele sagen, dass nur PortE geht.
Evtl noch ne Möglichkeit: Beim M128 gibts doch irgendwie diesen M103-Kompatibilitätsmodus. Ist der evtl. noch ausgewählt? (bei den Fusebits)
#ifndef MfG
#define MfG
Nein der stimmt auch! Es funktioniert ja auch alles, bis auf PWM an OC3A
Gehen die Kanäle 3B und 3C? (sofern Testbar)?
Wenn nein, dann stimmt irgendwo beim Setzen der Timer-Register nicht.
Hüpf mal in den Simulator, lass den mal bis nach die beiden Zeilen
laufen und schau mal im IO-Window nach, was die folgenden Register für Werte haben:Code:Config Timer3 = Pwm , Pwm = 10 , Compare A Pwm = Clear Up , Prescale = 1 Pwm3a = 100
ETIMSK
TCCR3A
TCCR3B
TCCR3C
Evtl. findet sich da dann der "Schuldige" (Falscher Wert irgendwo)
#ifndef MfG
#define MfG
Lesezeichen