hallo, ich versuche seit tagen vergeblich, den pin PE3 als ausgang zu benutzen. die sache haengt daran, dass ich timer 3 im CTC-Mode in betrieb habe, wenn ich timer 3 nicht nutze, funktioniert die sache mit dem digitalen ausgang. mit ausgang PE2 laeuft die sache problemlos, nur PE 3 will nicht. PE3 wird immer vom timer irgendwie ueberschrieben; nachdem der timer loslaeuft ist PE3 immer wieder auf 0. die sache ziegt sich so auch im debugger ohne hardware (winavr-gcc). hier mal mein code: in main(): PORTE=0x00; DDRE=0x0E; danach in unterfunktion: TCCR3A = 0x00; // keine PWM Mode 12 - TOP: IRC TCCR3B = 0x01; // kein InputCompare Mode 12 Vorteiler: 1024 TCCR3C = 0x00; // kein Force Output Compare TCNT3 = 0x0000; OCR3A = 0x0300; // Wert egal, da kein PWM-Betrieb OCR3B = 0x0000; // Wert egal, da kein PWM-Betrieb OCR3C = 0x0000; // Wert egal, da kein PWM-Betrieb // ETIMSK |= (1<<TICIE3); // IC-Interrupt ein ETIMSK &= ~(1<<OCIE3A); // alle mgl. interrupts offshiften ETIMSK &= ~(1<<OCIE3B); // alle mgl. interrupts offshiften ETIMSK &= ~(1<<TOIE3); // alle mgl. interrupts offshiften ETIMSK &= ~(1<<OCIE3C); // alle mgl. interrupts offshiften ETIMSK &= ~(1<<OCIE1C); // alle mgl. interrupts offshiften ETIMSK &= ~(1<<TICIE3); // alle mgl. interrupts offshiften ICR3 = 0x0FFD; // Wert, bei dem der Timer zurueckgesetzt wird - // 0.512s TCNT3 = 0x0030; // Zaehlregister Nullsetzen ich benutze parallel dazu noch timer 1 und 2 und moechte bei allen einen interrupt ausloesen (CTC-Mode). kann mir einer sagen, warum hier mein ausgang immer ueberschrieben wird? danke esco
PROBLEM GELOEST! also anfangs hat die chose auf der gardware tatsaechlich nicht funktioniert, allerdings tuts nun, dieser geniale debugger schint da wohl das falsche znuzeigen... esco
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.