Gast
#974989
Ich habe ein Problem mit meinem Port1-Interrupt Also im normalen (Netzteil) Betrieb funktioniert alles wunderbar wie ich es mir vorstelle, doch wenn ich dann die Speisung wegnehme (Batterie) wechselt der MSP in den LPM4 wie ich das auch wünsche. Nun kommt jetzt im Batteriemodus ein Port 1 Interrupt, indem ich kurz etwas mache und dann soll er gleich wieder in den Sleep Modus. Am Anfang der ISR lösche ich das P1IFG gleich wieder und schalte GIE frei, weil es auch eine Verschachtelung geben könnte (im Batteriemodus allerdings nicht). Das funktioniert alles im Normalen Betrieb nur eben im Batteriebetrieb löscht er das P1IFG nicht (im Debugger obwohl er sollte) und nachdem ich GIE wieder freischalte springt er dann gleich wieder in die ISR, wenn ich GIE nicht freischalte springt er einfach am Schluss der ISR wieder rein, da das P1IFG eben noch gesetzt ist. Das merkwürdige daran ist allerdings, dass während ich debugge und er mitten in der ISR steckt und ich dann das Netzteil einschalte, dass er von da an das P1IFG wieder löschen kann, obwohl er noch immer im LPM4 ist (da kann er erst raus, wenn die Port1-ISR fertig ist und dann die Port2-ISR kommt wo er aufgeweckt wird). Also liegt es irgendwie nicht am LPM4, aber verstehen tu ich es trotzdem nicht, denn im Batteriemodus hat der MSP noch immer 2.3V (zu 3.3V im normalbetrieb). Habt ihr da Ideen was das sein könnte?
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 | |
9 | |
10 | |
11 | |
12 | |
13 | |
14 | |
15 | |
16 | |
17 | |
par.reed2 = P1IN & 0x02; // REED 2 einlesen