. . Mega644P, PWM 16Bit (Timer1), Ausgabe an OC1A und OC1B Unter BASCOM läufts, aber ich will die 16Bit haben und ich selber verstehen was da abgeht. Config Timer1 = Pwm , Prescale = 8 , Pwm = 10 , Compare A Pwm = Clear Down , Compare B Pwm = Clear Up Manual für den Mega644P liegt vor. Liege ich richtig wenn ich annehme dass: Tcnt1 der Zähler ist der hochzählt und dann überläuft. Ocr1a Ocr1b die 16Bit Register sind die mit denen der Zählerstand verglichen wird. Zum Einstellen der Modi und des Vorteilers und der Taktquelle die Register: TCCR1A, TCCR1B, TCCR1C sind? Kurt
Hi >Zum Einstellen der Modi und des Vorteilers und der Taktquelle die >Register: >TCCR1A, TCCR1B, TCCR1C sind? Ich denke das Datenblatt liegt dir vor? Da gibt eine Beschreibung für jedes dieser Register und der Beschreibung der einzelnen Bits. Allerdings ist es sinnvoll sich vorher den Abschnitt 'Modes of Operation' durch zu lesen. MfG Spess
spess53 schrieb: > Hi > Da gibt eine Beschreibung für jedes dieser Register und der Beschreibung > der einzelnen Bits. Allerdings ist es sinnvoll sich vorher den Abschnitt > 'Modes of Operation' durch zu lesen. > Inzwischen hab ich die PWM soweit wie ich sie gerne möchte. _____________________________________________________________________ On Timer1 Ausgang_setzen ' Interrupt aufsetzen On Oc1a Loesch_oc1a On Oc1b Loesch_oc1b Enable Timer1 Enable Oc1a Enable Oc1b ' ------------------- Timer1 setzen ----------------------------------- ' Timer1 als PWM-Generator verwenden Tccr1b = 1 ' Teiler mit Takt versorgen, zählt bis 2h15 Ausgabewert = 100 ' ======================= Hauptprogramm ================================== Do Ausgabewert = Ausgabewert + 1000 Disable Interrupts Ocr1a = Ausgabewert Ocr1b = Ausgabewert Enable Interrupts Upperline Lcd Tccr1a ; " " ; Tccr1b ; " " ; Tccr1c ; " " Lowerline Lcd Ausgabewert ; " " ; Ocr1a ; " " ; Tcnt1 ; " " Waitms 1000 Loop ' ------------- Interrupteinsprung Timer1-------------- Ausgang_setzen: Set Led_rot Set Led_gruen Return ' ------------- Interrupteinsprung OC1A-------------- Loesch_oc1a: Reset Led_gruen Return ' ------------- Interrupteinsprung OC1B-------------- Loesch_oc1b: Reset Led_rot Return __________________________________________________________________ Muss ich mich ums Laden der beiden Vergleichsregister kümmern, also durch sperren der IR da irgendwas verhindern, oder erledigt das BASCOM selber? Bisher ist mir nichts negatives aufgefallen. Kurt
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.