I found an error in the common.h file located at:
<instdir>/msp430/include/msp430/common.h

The wrong macro was being used for LPM#_EXIT macros(where # is 0-4).
Instead of

#define LPM#_EXIT _BIC_SR(LPM#_bits)

it should be 

#define LPM#_EXIT _BIC_SR_IRQ(LPM#_bits)

Attached is my fixed header.  And below is my fixed lines 58 through 67.

-Chris Takahashi


#define LPM0      _BIS_SR(LPM0_bits)     /* Enter Low Power Mode 0 */
#define LPM0_EXIT _BIC_SR_IRQ(LPM0_bits) /* Exit Low Power Mode 0 */
#define LPM1      _BIS_SR(LPM1_bits)     /* Enter Low Power Mode 1 */
#define LPM1_EXIT _BIC_SR_IRQ(LPM1_bits) /* Exit Low Power Mode 1 */
#define LPM2      _BIS_SR(LPM2_bits)     /* Enter Low Power Mode 2 */
#define LPM2_EXIT _BIC_SR_IRQ(LPM2_bits) /* Exit Low Power Mode 2 */
#define LPM3      _BIS_SR(LPM3_bits)     /* Enter Low Power Mode 3 */
#define LPM3_EXIT _BIC_SR_IRQ(LPM3_bits) /* Exit Low Power Mode 3 */
#define LPM4      _BIS_SR(LPM4_bits)     /* Enter Low Power Mode 4 */
#define LPM4_EXIT _BIC_SR_IRQ(LPM4_bits) /* Exit Low Power Mode 4 */

Attachment: common.h
Description: Binary data

Reply via email to