Цитата(1921 @ Mar 24 2011, 20:09)

Просто эта штука не работает в пошаговом режиме, без отладчика всё пошло.
Режимы энергосбережения в дебаггере отладить не получится. Ведь ядро-то при этом "засыпает", а для отладки оно должно выполнять команды транслируемые ему через JTAG.
Цитата(1921 @ Mar 24 2011, 20:09)

С удивлением узнал, что после обработки прерывания в LPM3 контроллер уходит "досыпать", если не дать директиву __low_power_mode_off_on_exit();
Это вы просто недочитали или невнимательно прочитали раздел
System Resets, Interrupts, and Operating Modes в User's Guide.
Цитата(1921 @ Mar 24 2011, 20:09)

Кстати, может, кто скажет, есть ли программный reset, который выводит программу на начало? В принципе, можно и без него, но с ним было бы лучше...
Опять же следует почитать вышеупомянутый раздел (System Reset and Initialization) в User's Guide. Вызвать сброс можно, например, записью в регистр WDTCTL значения, которое не содержит правильного
security key.
Цитата(1921 @ Mar 24 2011, 20:09)

P.S. Кстати, откуда эта команда LPM3_EXIT;
Где она описана? Я проверил - работает, но в руководстве на С её не нашёл. Тогда где?
Это Intrinsic-функция. Специфична для данного конкретного компилятора (IAR EW430 видимо). Поэтому описание ее нужно читать в руководстве на компилятор. Эта функция, точно также как и другие подобные ей, предназначенные для управления энергосбережением, оперирует с битами в регистре SR. См. рисунок
Operating Modes For Basic Clock System и табличку под ним. Источник - опять же User's Guide. Или
вот частичный перевод его.