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.

[参考译文] MSPM0L2228:LPM 进入后不生成输入

Guru**** 2391325 points
Other Parts Discussed in Thread: MSPM0L2228

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1511004/mspm0l2228-after-lpm-enetring-no-interrput-generated

器件型号:MSPM0L2228

工具/软件:

你(们)好  

我们使用的是 MSPm0l2228、在 RTC 中使用 了一秒就绪中断、并使用了一些 GPIO 中断。 MSPM0在 RUN0模式下运行、我们尝试使用_WFI ()进入 RUN2SLEEP2、STANDBY1模式、每次成功进入 LPM、但每当我们发出外部 GPIO 中断  时、它不会从 LPM 退出、在调试中、如果暂停调试并运行、则会自动退出并运行内核。 此 LPM 需要适当的示例代码、何时只应运行 RTC、在 GPIO 中断或 RTC 警报中断时、器件应唤醒并提供。  

此致

很棒的一家餐馆  

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

    嗨、Nandish、

    您好像要问一个示例、GPIO 中断将导致器件退出 LPM、此时只有 RTC 正在运行。

    此假设是否正确?

    马修

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

    您好、Matthew、

    我们尝试了示例代码、并据此编写了如下所示的代码  

    void main(){

    init();

    enable_all_interrupst();

    while (1)

    low_pow_mode_en ();

    }

    }

    void  low_mode_en ()  

     DL_SYSCTL_disableSleepOnExit ();
     _enable_irq()
     DL_SYSCTL_setPowerPolicyRUN2SLEEP2()
     __WFI ();//等待 Interrupty

    }

    void Group1_IRQHandler (void){
     uint32_t pending_interrupt_ext_ina = DL_GPIO_getPendingInterrupt (GPIOA);
     uint32_t pending_interrupt_ext_inb = DL_GPIO_getPendingInterrupt (GPIOB);
     uint32_t pending_interrupt_ext_inc = DL_GPIO_getPendingInterrupt (GPIOC);

     if (pending_interrupt_ext_ina =EXT_IN_CAP_TOUCH_IIDX){
      
     DL_SYSCTL_setPowerPolicyRUN0SLEEP0 ();

    }

    } 调试后、我们发现我们正在进入低功耗模式、并获得 GPIO 中断、但我们不执行__wfi。 因此、请提供此类应用的示例代码

    此致

    Nandish  

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

    嗨、Nandish、

    您看到了什么表明 WFI ()未执行的行为?

    如果连接了调试器、则器件不会真正进入最低功耗模式。

    马修