Ich bräuchte mal etwas Hilfe bei meinem Code. Allen verfügbaren Tutorials zum trotz renn ich in grosse Probleme wenn ich mehr als einen Timer einsetzen möchte, und/oder mehr als einen Interrupt habe. Also angefangen hab ich mit dem Sinus Lookup der (geteilt durch ACount/BCount) direkt mit Timer1, der auch die PWM steuert, abgeklappert wird. Soweit so gut. Als ich versuchen wollte einen weiteren Interript für die Tasten zu implementieren fingen dei Probleme an. Der Timer1 Interrupt kam nicht mehr durch. Dann wollte ich erstmal eine eigene Timerbasis für die Lookuptable machen, um Interrupt events zu sparen (Vorteiler statt ACount/BCount) damit mehr Luft für die Tasten bleibt (später). Timer0 war der völlige Reinfall, beim aktivieren von Timer0 ging überhaupt nichts mehr. Also versuche ich es gerade mit Timer2 da geht was aber nicht das was es soll. Timer2 soll über ein Compare Event seinen Interrupt werfen, welcher das Auslesen der Lookuptable voran bringt, soweit die Theorie. Praktisch geht beim Start meine LED auf 100% an und verweilt in diser unglücklichen Situation solange Timer2 eben hochzählt (diese zeit kann ich über Vorteiler und ORC2A gut beeinflussen), dann geht er in den Sinus als ob es keinen Timer2 mehr geben würde, was ja eigentlich heißt das Timer1 immernoch weiertriggert. Ich steh noch sehr am Anfang mit µC daher hab ich sicher irgendwas Grundlegendes mit dem Interruptvektor Verhunzt. Wenn ein geworfener Interrupt nicht im Vektor steht (also kein reti) wird dann automatisch zum nächsten übergegagnen? Also wenn z.B. ein INT0 ankommt aber PCINT2 erst im Vektor steht, wird dann PCINT2 ausgeführt? Ich hab keine Ahnung was ich noch versuchen kann, hab schon alles mögliche ausprobiert. Den Code auch nochmal als URL(mit Highlighting) http://nopaste.gamedev.pl/?id=655
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.