Hilfe bei AVR PWM

OP Gast #1993143
Lesenswert?
• ▲
▼
Guten Abend,

ich habe mich vor längerer Zeit einmal mit dem internen Hardware PWM 
(counter) des Atmega32 beschäftigt. Danach habe ich keine Zeit mehr 
dafür gehabt und nun habe ich es heute noch einmal versucht. Soweit 
alles geschafft, OCR1B bzw OCR1A funktionieren, nur dass der jeweils 
andere PWM-Port (der nicht genutzt wird) auch (ungewollt) ein PWM Signal 
erzeugt. Warum?
Hier der Code:

#include <avr/io.h>

void init_pwm();

void init_pwm()
{
  TCCR1A = (1<<COM1A1) | (0<<COM1A0) | (1<<COM1B1) | (0<<COM1B0) | 
(0<<FOC1A) | (0<<FOC1B) | (1<<WGM11) | (0<<WGM10);
  TCCR1B = (0<<ICNC1) | (0<<ICES1) | (1<<WGM13) | (1<<WGM12) | (0<<CS12) 
| (1<<CS11) | (1<<CS10);

  ICR1=249;  // top of counter / 2ms pwm

  return;
}


int main(void)
{
  DDRD = 0b11111111;

  init_pwm();

  OCR1B=10;  // PD4 of AVR atmega32


  return(0);
}

MfG
OP Gast #1993210
Lesenswert?
• ▲
▼
Ja kann ich:
laut Datenblatt: Mode: Fast PWM, Clear OC1A/OC1B on compare match, set
OC1A/OC1B at BOTTOM,(non-inverting mode)
Deine Konfiguration ist im Datenblatt leider nicht zu finden, hab sie 
getestet und siehe da: nur OCR1B macht PWM. Es funktioniert also.

Egal, Problem hat sich schon gelöst, weil der Zustand, in dem einer (von 
insgesamt 4 PWM Ausgängen / allerdings anderer AVR) der PWM Ausgänge 
undefiniert bleibt nicht auftritt.

Danke für den Denkanstoß

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

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.