Hatte vor etwa 2-3 monaten einen beitrag hier geschriben mit einem interrupt problem. Hatte einen interrupt, der auf beide flanken einen inputs kommen soll. habe dann jedoch festgestellt, dass dieser teils mehr als eigentlich ausgelöst, teils weniger kam. hatte nun wieder mal zeit und den fehler gefunden. hatte die bedinnung ob er aktiviert, oder deaktiviert sein soll "dauernd" mit einer if abgefragt, und dann das interrupt enable bit gesetzt oder geresetet, obs nun gesetzt war oder nicht! nun wenn nun das interrupt enable bit gesetzt ist, und ich gebe erneut den befehl es zu setzen (entspechend viele male), kann es sein das interrupts ignoriert, oder zusätzliche hinzugezaubert werden. wieso das? erscheint mir sehr unlogisch... hatte schon mal jemand dieses problem???
Wenn ich dich richtig verstanden habe, hast du z.B: im main() : CC15IE=TRUE; CC15IE=FALSE; ... CC15IE=TRUE; CC15IE=FALSE; Durch Aufruf deiner Interruptroutine wird ja das CC15IR=FALSE; Durch das wegsetzen und setzen "sieht" der Prozessor einen Flankenwechsel wodurch wieder der Interrupt aufgerufen wird. Ist völlig korrekt so. Gruss PS: kann Mann wunderbar dazu verwenden einen PEGEL-getriggerten Interrupt an den C16x anzuschließen (der kennt ja nur Flankengesteuerte).
Thomas Stütz ne stimmt nicht, habs wohl zu ungenau erklärt.... eher: CC15IE = TRUE und kurz darauf CC15IE = TRUE wird nirends FALSE gesetzt...
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.