Foooob
20.01.2007, 19:09
Hallo
Bevor ihr gleich losschreibt und sagt, das steht schon alles wo - Moment noch kurz ;-)
Ich habe da ein Verständnisproblem.
Und zwar ist es kein Problem für mich ein PWM-Signal beispielsweise an den Ausgängen (eines Mega128) OC1A und OC2A auszugeben. Dann sieht ja mein Programmcode nach folgendem Schema aus:
$regfile = "m128def.dat"
$crystal = 11059200
Config Pinb.5 = Output
Config Pinb.6 = Output
Config Timer1 = Pwm , Pwm = 8 , Compare A Pwm = Clear Up , Compare B Pwm = Clear Up , Prescale = 256
Do
Compare1a = 200
Compare1b = 30
Loop
End
So weit so gut...nur...
Was mache ich wenn ich nur einen PWm Output habe und das A bzw. B dann eigentlich wegfällt? Beim Mega128 ist der Pin B4 (OC0) als PWM programmierbar mit Hilfe des Timer 0, jedoch nur dieser Pin!
Wenn ich aber sowas schreibe:
' Hardware PWM mit Timer1
$regfile = "m128def.dat"
$crystal = 11059200
Config Pinb.4 = Output
Config Timer0 = Pwm , Pwm = 8 , Compare Pwm = Clear Up , Prescale = 256
Do
Compare0 = 200
Loop
End
...will er nicht.
Wie mach ich das dann? Was fehlt hier noch?
Bevor ihr gleich losschreibt und sagt, das steht schon alles wo - Moment noch kurz ;-)
Ich habe da ein Verständnisproblem.
Und zwar ist es kein Problem für mich ein PWM-Signal beispielsweise an den Ausgängen (eines Mega128) OC1A und OC2A auszugeben. Dann sieht ja mein Programmcode nach folgendem Schema aus:
$regfile = "m128def.dat"
$crystal = 11059200
Config Pinb.5 = Output
Config Pinb.6 = Output
Config Timer1 = Pwm , Pwm = 8 , Compare A Pwm = Clear Up , Compare B Pwm = Clear Up , Prescale = 256
Do
Compare1a = 200
Compare1b = 30
Loop
End
So weit so gut...nur...
Was mache ich wenn ich nur einen PWm Output habe und das A bzw. B dann eigentlich wegfällt? Beim Mega128 ist der Pin B4 (OC0) als PWM programmierbar mit Hilfe des Timer 0, jedoch nur dieser Pin!
Wenn ich aber sowas schreibe:
' Hardware PWM mit Timer1
$regfile = "m128def.dat"
$crystal = 11059200
Config Pinb.4 = Output
Config Timer0 = Pwm , Pwm = 8 , Compare Pwm = Clear Up , Prescale = 256
Do
Compare0 = 200
Loop
End
...will er nicht.
Wie mach ich das dann? Was fehlt hier noch?