Problem mit PWM beim Atmega8

Gast #62117
Ich will über die zwei voneinander unabhängigen PWMs des Timer1 zwei
Servos ansteuern und blicke da irgendwie nicht so ganz durch.

Ich denke, am geschicktesten ist die "Phase and Frequency correct
PWM"

Da bei beiden PWMs die Zykluszeit gleich ist kann ich ja als Top- Wert
das ICR1 Register nehmen,oder?

Woher weiß er dann, wann er das OC1 bzw OC2 setten (beim raufzählen)
bzw resetten (beim runterzählen) soll?
Geschieht das über die Marken OCR1A bzw OCR1B?
Beim Anhang habe ich das so ausprobiert, jedoch hat der Timer dann
nicht rauf- und runtergezählt, sondern ist übers ICR1 hinaus bis $FFFF
und hat dann bei $0000 wieder angefangen.
Außerdem hat das OC1A bzw OC1B nicht umgeschaltet.

Ist das ein Fehler des AVR Studio oder habe ich irgendetwas falsch
gemacht???

Hoffentlich kann mir jemand helfen, da ich schon eine Weile
herumprobiere.

Danke,mfg Rdlpfrmpft
Angehängte Dateien:
Gast #62118
Am geschicktesten soll doch Fast-PWM sein ;) ich verwende am meistens
die 14. Funktion von dem Timer. Das Problem könnte auch daran liegen,
dass du deine TCNTs nicht initialisiert hast, vermute ich. Und wenn es
nicht hilft, dann versuche noch mal so was:

...
ldi temp,$2e
out OCR1AL,temp
out OCR1AH,temp2
ldi temp,$59
out OCR1BL,temp
out OCR1BH,temp2
ldi temp,0b11110000
out TCCR1A,temp
ldi temp,0b00010011
out TCCR1B,temp
;!!!!!!!!!
ldi temp,$2e
out OCR1AL,temp
out OCR1AH,temp2
ldi temp,$59
out OCR1BL,temp
out OCR1BH,temp2
;!!!!!!!!!

Ich hab schon ähnliche Probleme bei dem 90s2313 mit soclhem Trick
gelöst...
Gast #62120
Danke

nachdem ich es heute nochmal mit demselben programm probiert habe,
klappte auf einmal das umschalten der OC1A bzw OC1B bei einem compare
match von TCNT1 mit OCR1A bzw OCR1B,jedoch überging er den wert von
ICR1,wo er eigentlich bei einem compare match mit ICR1 nach unten
tählen sollte....

Brauch ich da spezielle einstellungen in den timer interrupt
registern??

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 22 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.