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
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.
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
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.