Hallo!
Ja das müsste stimmen, bin dann beim googeln später auch darauf gestoßen.
So, nun wollte ich einen PIN für PWM und einen zur Frequenzausgabe (Schrittmotortakt), das mit der Frequenz ist schwieriger.
Da PWM nur mit Timer1 geht musste ich Timer0 nehmen -> der hat aber nur 8Bit, da ist die geringste Frequenz 4000Hz.
Das Ganze habe ich so gelöst.
Ich musste im Interrupt eine Art Zählerschleife mit Übertrag einbauen.Code:$regfile = "m8def.dat" $crystal = 16000000 Config Portb.1 = Output Config Portb.2 = Output Mot Alias Portb.2 Dim N As Word Dim Dreh As Word Config Timer1 = Pwm , Pwm = 8 , Prescale = 8 , Compare A Pwm = Clear Down Config Timer0 = Timer , Prescale = 8 On Timer0 Inter Enable Timer0 Enable Interrupts Do Dreh = 150 Compare1a = Dreh Loop End Inter: Timer0 = Dreh Incr N If N > 60 Then Mot = 1 Else Mot = 0 End If If N = 120 Then N = 0 End If Return
Mir ist dieser Lösungsweg etwas unbequem und frisst viel Ressourcen.
Kann man das nicht eleganter lösen???
Vielen Dank!







Zitieren
Hoffentlich liegt das Ziel auch am Weg 

Lesezeichen