Ich habs jetzt hin bekommen
Ich musste nur das Prescale vergrössern. Ich hatte immer den Wert 1 nur genommen. So ware die Periode viel zu kurz.
Nun das ist jetzt mein Beispiel. Ist leider nur sehr ungenau.Code:$regfile = "m32def.dat" $crystal = 1000000 Config Pind.4 = Output Config Pind.5 = Output Config Timer1 = Pwm , Pwm = 8 , Compare A Pwm = Clear Up , Compare B Pwm = Clear Down , Prescale = 64 Do Compare1a = 249 Waitms 1000 Compare1a = 248 Waitms 1000 Compare1a = 247 waitms 1000 Loop End
Deshalb habe dann von 8bit auf 10bit erhöht.
Daruf habe ich dann gesehen das ich anhand eine Formel aufstellen konnte und voila, es funktioniert jetzt endlich.
Zuerst hatte ich meine Eigene Formel, aber danach hatte ich bei RN Wissen nachgeschaut und hatte die dort vorgegeben Formel dann Verstanden.Code:$regfile = "m32def.dat" $crystal = 1000000 Config Pind.4 = Output Config Pind.5 = Output Config Timer1 = Pwm , Pwm = 10 , Compare A Pwm = Clear Up , Compare B Pwm = Clear Down , Prescale = 8 Do Compare1a = 900 Waitms 1000 Compare1a = 910 Waitms 1000 Compare1a = 920 Waitms 1000 Loop End
(fq/Prescale)/(1024*2) = fa
fq = Frequenz Takt des Microcontroller
fa = Frequenz am Ausgang
Nun kann ich weiter machen.







Zitieren

Lesezeichen