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.

[参考译文] CCS/MSP432P401R:MSP432P401R -无法将设计置于低功耗模式

Guru**** 2551640 points


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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/590526/ccs-msp432p401r-msp432p401r---not-being-able-to-put-design-into-low-power-mode

器件型号:MSP432P401R

工具/软件:Code Composer Studio

您好!
 
因此、根据我看到需要使用的许多示例
 
__ENABLE_IRQ();
_wfi();
以便在 msp432中进入低功耗模式。 现在退出低功耗模式、我必须使用以下命令

SCB_SCR &=~SCB_SCR_SLEEPONEXIT;
问题是 code composer 给出了以下错误
此行有多个标记
   -#20标识符"SCB_SCR_SLEEPONEXIT"为
   未定义
   -#20标识符"SCB_SCR"未定义
我不明白为什么它会给我这个错误。 如果你们有任何意见、请告诉我。 谢谢你
如果 CCS 6.2.0有所不同、我将使用它。
谢谢你
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    这看起来像一个 CMSIS。 您可能想要的

    SCB->SCR &=~SCB_SCR_SLEEPONEXIT_MSK;

    尽管如此、ARM UG (DUI0553A 表4-12)显示 SLEEPONEXIT 在复位时为0、因此如果您不会对其造成混乱、您可能根本不需要这行代码。

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

    该错误似乎已修复。 我将对其进行一点测试。 谢谢你

    如果我不需要它、那么在我将它置于低功耗模式后、我将如何退出低功耗模式?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您需要该位为0才能唤醒 main(),但我建议它可能已经为0 (内核本身不会将其切换为1)。

    包括这行代码不会造成任何伤害。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    振、

    正如 Bruce 所说的、我相信宏的正确命名是 SCB_SCR_SLEEPONEXIT_MSK;

    示例如下:
    dev.ti.com/.../

    您查看的是什么示例? 您是否更新了代码示例包以及 CCS 更新?

    另一个需要注意的问题是在进入 WFI 之前使用__DSB()函数很重要。
    infocenter.arm.com/.../DAI0321A_programming_guide_memory_barriers_for_m_profile.pdf