Forum: Mikrocontroller und Digitale Elektronik Problem mit PWM bei ATMega32


von Dane (Gast)


Lesenswert?

Tag!

Ich habe ein Problem mit der PWM bei einem Atmega32 (auch 16) und zwar 
erzeugen alle 3 Timer analoge Ausgänge per PWM. Bei den Timer 1 und 2 
funktioniert dies auch tadellos, nur will beim Timer0 nix rauskommen :(
Ich habe jetzt leider keine Ahnung mehr an was das liegen könnte...

------------------------------------------------------------------------ 
-
------------------------------------------------------------------------ 
-
hier mal einen auszug meines Quellcodes:
...

DDRD  |= 0b10100000;      // Pins als Outputs
DDRB  |= 0b00001000;

PORTD &= 0b01011111;      // Ausgänge abschalten
PORTB &= 0b11110111;


void Timers_init(void)
{

  TCCR0 = 0b01101000;    //Fast PWM - Timer gestoppt
  OCR0  = 0;

  //Timer1 (10bit) PWM
  TCCR1A = 0b10000011;  // 10bit Fast PWM
  OCR1A = 0;
  TCCR1B = 0b00001000;

  // Timer2 (8bit) Fast PWM
  TCCR2 = 0b01101000;
  OCR2 = 0;
}

void PWM_Air(int wert)  //Timer0  -> OC0 an B3
{

  TCCR0 = 0b01101000;  // Timer stopp
  if(wert==0)
  {
    PORTB &= 0b11110111;
    return;    // PWM stopp
  }
  if(wert>=255)wert=255;
  OCR0 = wert;

  // hier Timer starten
  TCCR0 = 0b01101010;  //TAKTTEILER 8
}

void PWM_Oxy(int wert)  // Timer2 -> OC2 an D7
{

  TCCR2 = 0b01101000;  // Timer stopp
  if(wert==0)
  {
    PORTD&=0b01111111;
    return;    // PWM stopp
  }
  if(wert>=255)wert=255;

  if(wert>OCR0)wert=OCR0;  //max gleicher Anteil Oxy und Air
  OCR2 = wert;

  // hier Timer starten
  TCCR2 = 0b01101001;  //TAKTTEILER 1
}

------------------------------------------------------------------------ 
-
------------------------------------------------------------------------ 
-

wär Top, wenn mir jemand weiterhelfen könnte !

von Dane (Gast)


Lesenswert?

hat keiner ne Idee ???

von Geire99 (Gast)


Lesenswert?

Hallo ,
in welchen Modus willst Du den Timer 0 betreiben?

Fast PWM ist es jedenfalls nicht.

Bye
  Andi

von Geire99 (Gast)


Lesenswert?

sorry, doch fast pwm, ich habe mich verschaut

von Geire99 (Gast)


Lesenswert?

.... ich habs jetzt mal in den Simulator reingehauen, und da toggelt der 
PB3, somit müsste der gepostete Code korrekt sein. Der Fehler ist dann 
wohl woanderst zu suchen.

Bye Andi

von Floh (Gast)


Lesenswert?

Dane schrieb:
> hier mal einen auszug meines Quellcodes:
> ...

Code als Anhang, sonst wirds nix mit Fehlersuche :-)

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.