> Merkst Du was?
Anscheinend war der Zaunpfahl nicht ausreichend groß.
(SCG1+SCG0+CPUOFF);
Das sind einfach nur ein paar numerische Werte, die Bits im
Statusregister beschreiben:
#define CPUOFF (0x0010)
#define SCG0 (0x0040)
#define SCG1 (0x0080)
Allerdings hast Du die Headerdatei nicht richtig gelesen, die von Dir
erwähnte Macrodefinition ist für Assembler. Die in der gleichen
Headerdatei vorhandene Macrodefinition für C sieht so aus:
#define LPM3_bits (SCG1+SCG0+CPUOFF)
#define LPM3 _BIS_SR(LPM3_bits) /* Enter Low Power Mode 3 */
_BIS_SR() ist eine Funktion, die den übergebenen Wert ins Statusregister
schreibt.
Damit führt LPM3; sehr wohl das aus, was es soll. Könnte es sein, daß Du
"nicht im Debug modus" falsch verstanden hast und damit Release- statt
Debug-Code meinst, Dein Programm aber sehr wohl noch unter Kontrolle des
Debuggers läuft?