Forum: Mikrocontroller und Digitale Elektronik Zweites PWM Signal mit TC1?


von AVRli (Gast)


Lesenswert?

Hallo zusammen,

ich habe nun ein PWM Signal mit dem ATMEGA 128 erzeugt dieses wird auch
wie erwartet am PIN PB5 (OC1A) ausgegeben.

  ldi wrH,(1<<COM1A0)|(1<<WGM10)
  out TCCR1A,wrH
  ldi wrH,(2<<WGM12)|(5<<CS10)
  out TCCR1B,wrH
  ldi wrH,(1<<FOC1A)
  sts TCCR1C,wrH

  ldi wrH,low(120)
  out ocr1AL,wrH
  ldi wrH,high(120)
  out ocr1AH,wrH

Wobei FOC1A keine Auswirkung hat, also es läuft immer.
Für was braucht man das?

Nun wollte ich ein zweites PWM Signal erzeugen mit dem gleichen TC1
also so das es am PIN PB6 (OC1B) ausgegeben wird.

Nun habe ich versucht den Port einfach zu aktivieren.

  ldi wrH,(1<<COM1A0)|(1<<COM1B0)|(1<<WGM10)
  out TCCR1A,wrH
  ldi wrH,(2<<WGM12)|(5<<CS10)
  out TCCR1B,wrH
  ldi wrH,(1<<FOC1A)
  sts TCCR1C,wrH

  ldi wrH,low(120)
  out ocr1AL,wrH
  ldi wrH,high(120)
  out ocr1AH,wrH

  ldi wrH,low(220)
  out ocr1BL,wrH
  ldi wrH,high(220)
  out ocr1BH,wrH

Das klappt nicht. Hat jemand einen Tip?

Gruß AVRli

von johnny.m (Gast)


Lesenswert?

Das Datenblatt besagt, dass die FOC-Bits nur in nicht-PWM-Modi aktiv
sind und dass sie in PWM-Modi immer "0" geschrieben werden sollen.
Was willst Du mit dem FOC überhaupt erreichen?

von AVRli (Gast)


Lesenswert?

Ich dachte nur es müsse man einschalten, ich weiß nicht wofür das FOC
Bit genutzt wird, sorry ich klammer das mal aus. ;) Gleub das brauch
ich dann wohl nicht.

Gruß AVRli...

von johnny.m (Gast)


Lesenswert?

FOC heißt Force Output Compare. Die Bits dienen dazu, in nicht-PWM-Modi
den Ausgangspin "von Hand" (also vom Programm aus) umzuschalten, ohne
dass ein Compare-Ereignis eingetreten ist.

Der Rest sieht auf den ersten Blick nicht ganz unvernünftig aus. Habe
jetzt allerdings nicht die Belegungen der TCCR...-Register überprüft.

von AVRli (Gast)


Lesenswert?

Hallo,

dann fummel ich da mal nicht rum :-) lasse das FOC dann auf 0 das will
ich ja so auch garnicht nutzen.

Wollte ja nur ein zweites PWM Signal haben :-)

Der erste ist auf "PWM, Phase and Frequency Correct" gestellt ich
glaub da geht das mit einem zweiten PWM garnicht. :-(



MfG AVRli...

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.