This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] MSP430F5335:从任何 LPM 唤醒

Guru**** 2378650 points
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/742000/msp430f5335-wake-up-from-any-lpm

器件型号:MSP430F5335

如果我有如下条件、请转到睡眠代码:

if (cell_pwr ()|| g_debug_bps > 9600){
_bis_SR_register (LPM1_bits + GIE);//进入睡眠
模式}否则{
_bis_SR_register (LPM2_bits + GIE);//进入睡眠
模式}

考虑到有时 uC 将处于 LPM1中且 ISR 将尝试从 LPM2唤醒、我能否使用以下代码唤醒?

_BIC_SR_REGISTER_ON_EXIT (LPM2_BITS);//唤醒

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    LPM1_BITS 和 LPM2_BITS 实际上修改了不同的位。

    _BIC_SR_register (LPM2_BITS); 

    实际上不会修改状态寄存器中与相同的位  

    _BIC_SR_register (LPM1_BITS); 

    如果您查看代码中使用的头文件、则可以查看修改后的位。

    但是、您可能可以使用标志来指示适用的条件、以便您也可以从相应的 LPM 有条件地唤醒。

    此致、

    Britta

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    哇、我只需要有条件地进入 LPM 1或3模式、然后它都可以工作。