Forum: Mikrocontroller und Digitale Elektronik tiny 2313 timer 1 als 8bit PWM


von elektron79 (Gast)


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

von elektron79 (Gast)


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

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.