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.