Forum: Mikrocontroller und Digitale Elektronik Atmega32 Problem mit PWM


von gaz (Gast)


Lesenswert?

Hi!

Ich möchte am Port OC0 meines Atmega32 ein PMW Signal haben.
Eigentlich ist am Code nicht viel dran, nur find ich den Fehler nicht. 
Wenn ich nachmesse ist der Port low.
Code:

int main (void) {

DDRB  = 0xff;
DDRA = 0xff;
PORTA = 0x0;
DDRD = 0xff;
PORTD= 0xff;
DDRC = 0xff;
PORTC = 0b00001111;

TCCR0 = 0b01011001;      //fast PWM // noninverted // Prescaler 0
TCNT0 = 0xff;
OCR0 =  0x7f;





   while(1);

}

Vielleicht kann mir jemand sagen was ich falsch mache.

Danke schon mal

von Stefan E. (sternst)


Lesenswert?

gaz schrieb:
> Vielleicht kann mir jemand sagen was ich falsch mache.

Du hast mit den COM-Bits einen Modus eingestellt, der im Datenblatt als 
"Reserved" markiert ist.

von spess53 (Gast)


Lesenswert?

Hi

>Vielleicht kann mir jemand sagen was ich falsch mache.

TCCR0 = 0b01011001
            ||
COM01:00=   01  ist nicht inverted, sondern reserved.

Es ist auch für dich einfacher statt

TCCR0 = 0b01011001   TCCR0 = 1<<WGM00|1<<COM01....

zu schreiben.

MfG Spess

von gaz (Gast)


Lesenswert?

Danke für eure schnelle Hilfe!

@Spess macht die Sache sicher einfacher, danke!

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.