PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Pwm mit timer2



kingmassivid
01.10.2007, 18:49
Hallo,
Ich versuche mich gerade an einer RGB-Led lampe,
aber hab jetzt ein problem mit Hardware-PWM.
Bei timer 1 ist das kein problem aber mit timer 2 krieg ich das absolut nicht hin.
Ich kann den ausgang zwar an und aus schalten aber wenn ich das so mache wie im code unten leuchtet an oc2 nichts! Was mache ich falsch?

Lukas




$regfile = "m8def.dat"
$framesize = 32
$swstack = 32
$hwstack = 32
$crystal = 8000000
$baud = 9600

Config Pinb.1 = Output
Config Pinb.2 = Output
Config Pinb.3 = Output

Config Timer1 = Pwm , Pwm = 8 , Compare A Pwm = Clear Up , Compare B Pwm = Clear Up , Prescale = 1
Config Timer2 = Pwm , Compare 2 Pwm = Clear Up , Prescale = 1
Do

Compare1a = 150
Compare1b = 100
Timer2 = 100
Loop

End

Jeronnimo
01.10.2007, 19:25
Config Timer2 = Pwm , Compare Pwm = Clear Up , Pwm = On , Prescale = 64 'Timer für PWM Signal an Motor
Enable Timer2
Ocr2 = 128 'für 50%

funktioniert bei mir top

astro9481
14.10.2007, 22:18
Ich habe einen Attiny 13 aber bei dem klappt as so nicht mit timer 2 und PWM, jemnd ne Idee, wie es da geht??

dank euch

edit sorry war mei fehler,
ist beim attiny3 ja timer 0

sollte doch mit den zeilen klappen, oder??

Config Timer0 = Pwm , Pwm = On , Compare A Pwm = Clear Up , Compare B Pwm = Clear Up , Prescale = 1
Enable Timer0
Ocr0b = Msg

Sauerbruch
15.10.2007, 08:23
...außerdem hattest Du glaube ich einen kleinen Denkfehler in der vorletztenZeile:


Compare1b = 100
Timer2 = 100
Loop


Dadurch, dass Du den Timer 2 immer wieder auf 100 setzt, kann er die Compare-Schwelle nie erreichen. Aber vermutlich hast Du diesen Bug im neuen Code für den Tiny13 schon behoben.