tiny 2313 timer 1 als 8bit PWM

Gast #1008225
Lesenswert?

Hallo,

ich habe ein Problem mit dem Fast PWM 8Bit auf dem Timer1.

Die Funktion des PWM habe ich verstanden und mit den beiden 
PWM-Ausgängen auf Timer0 (8Bit) klappt es auch super.

Um nun noch einen dritten Kanal zur Verfügung zu haben, verwende ich den 
ersten PWM-Ausgang des Timer1, dieser ist nun ein 16Bit Timer den ich im 
8Bit-Mode betreiben möchte (denn dann sind die drei identisch).

Dazu habe ich die folgenden Register gesetzt:

 Tccr1a.pwm10 = 1                  'Fast PWM 8Bit
 Tccr1b.ctc1 = 1
 Tccr1b.wgm13 = 1                  'Fast PWM 8Bit
 Tccr1a.com1a0 = 1                 'Toggle OC1A on Compare Match.


 Tccr1b.cs10 = 1                              'Prescaler = 1

  Pwm1a = V_b


die Variable V_b kann ich über eine serielle Schnittstelle mit Werten 
zwischen 0 und 255 beschreiben wenn ich "0" rein schreibe geht die LED 
manchmal aus, manchmal auf 100%...
Hat einer einen Tip warum?

Nach dem lesen des Datenblatt hätte ich eigentlich tccr1b.wgm13 nicht 
gesetzt (steht in der Tabelle für Fast-PWM 8Bit auf 0),
wenn ich es aber nicht setze tut sich garnichts...

Wie gesagt, die Serielle Schnittstelle läuft und die 8Bit PWM's auch...

Danke!
Grüße aus Köln
Elektron
Gast #1009189
Lesenswert?

Hallo zusammen,

hab das Problem jetzt auf andere Weise gelöst,
in Bascom kann man die Register für die PWM auch so setzten:

 Hier nun die 8Bit Timer

  Config Timer0 = Pwm , Compare A Pwm = Clear Up , Compare B Pwm = Clear 
Up , Prescale = 1

 ' Hier nun die 16Bit Timer
  Config Timer1 = Pwm , Pwm = 8 , Compare A Pwm = Clear Up , Compare B 
Pwm = Clear Up , Prescale = 1

damit klappts auch mit den 16 Bit Timern...

Wenn noch jemand einen Tip hat würde ich mich freuen, ich lerne gerne 
dazu...

Grüße aus Köln
Michael

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren