Hi, Ich möchte einen Tiny861 Timer1 im PWM6 Mode betreiben. Wenn ich richtig verstehe, sollte es mit den Bits TCCR1D.WGM10 und TCCR1D.WGM11 jeweils "1" als Dual Slope gehen, also quasi wie Phase Correct. WGM10=1, WGM11=1. Timer zählt immer rauf und runter. Tut er aber offensichtlich nicht, bei 16MHz habe ich mit Prescaler 4 eine Periode von knapp 16kHz, es sollten bei 512Bit (256 rauf und runter) aber knapp 8kHz sein. Es scheint auch komplett egal zu sein, ob ich die WGM auf 11 oder 10 stelle, der macht immer Single Slope. Die Ausgänge sind alle 6 angeklemmt (nur so geht auch der invertierte Ausgang, muß man auch erstmal im Datasheet finden): Tccr1a.com1a1 = 0 Tccr1a.com1a0 = 1 Tccr1a.com1b1 = 0 Tccr1a.com1b0 = 1 Tccr1c.com1d1 = 0 Tccr1c.com1d0 = 1 Ja, OCR1A und B sind in A, OCR1D ist in C - nicht wundern, stimmt so. Für die Phasen schalte ich dann mit den TCCR1E.OC1OE5:OC1OE0 die Ausgänge an und aus. Die Portbits sind auf 1, was bei meiner Beschaltung dann "Aus" ist. Das funktioniert soweit ganz prima. Was mir Sorge macht ist, daß ich da so viel ausprobieren musste und da eine Sache (WGM Dual vs. Single Slope) definitiv nicht zum Datasheet passt. Selbst die Nomenklatur der Register ist zerwürfelt, ich befürchte da immer noch Fußangeln oder Fehler im Datasheet, auf die ich so ohne Weiteres nicht komme. Also Fragen: Was ist mit Dual Slope, wieso geht das nicht? Noch irgendwelche Tricks oder Gemeinheiten, wie z.B. die invertierten Ausgänge gehen nur wenn man Com1x1:0 auf "01" stellt? Gruß, Norbert
Hi, ich hatte es verkackt. Falsches Register zu fassen gehabt, reiner Zufall, daß das überhaupt so ähnlich getan hat wie ich wollte. Jetzt geht alles perfekt, das Datenblatt hat doch nicht gelogen. Gruß, Norbert
Dachte ich mir, hier geht es nämlich auf Anhieb. Vielleicht ist 02:58 keine so gute Zeit.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.