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.

[参考译文] MSPM0L1228:如何在低功耗模式下启用 UART 中断

Guru**** 2046040 points
Other Parts Discussed in Thread: MSPM0-SDK, MSPM0G3507, LP-MSPM0L2228
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1465293/mspm0l1228-how-to-enable-uart-interrupt-in-low-power-mode

器件型号:MSPM0L1228
主题中讨论的其他器件:MSPM0-SDKMSPM0G3507LP-MSPM0L2228

工具与软件:

您好!

我禁用了 UART 的异步时钟请求、以允许 MCU 进入低功耗模式(电源策略待机1)。

因此、当接收到字符时、我无法再接收 UART 中断。

我的预期目标是在使用 UART 中断接收到一个字符时退出低功耗模式。

Fullscreen
1
2
3
UART_0_INST->GPRCM.CLKCFG = 0xA9000100;
UART_1_INST->GPRCM.CLKCFG = 0xA9000100;
UART_2_INST->GPRCM.CLKCFG = 0xA9000100;
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

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

    您好、 

     https://www.ti.com/lit/ds/symlink/mspm0l1228.pdf

    ULPCLK 在 standby1中断开、请使用 standby0。

    此致、

    Helic

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

    嗨、

    当通过 UART 中断接收到字符时、我可以使用异步快速时钟从待机1唤醒吗?

    我还测试了待机1、将 GPIOA 作为开关。 该中断仅在按下开关时发生、导致 MCU 退出待机1。

    但它不适用于 UART。 如上所述、如果我不禁用 UART 异步快速时钟(UART_0_INST->GPRCM.CLKCFG = 0xA9000100)、则 MCU 无法进入低功耗模式。

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

    您好、 

    当通过 UART 中断接收到字符时、我能否使用异步快速时钟从待机1唤醒?

    有。

    我还使用 GPIOA 作为交换机测试了 Standby1。

    GPIO 中断可在除关断之外的所有低功耗模式下工作。

    [报价 userid="59845" url="~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1465293/mspm0l1228-how-to-enable-uart-interrupt-in-low-power-mode/5623257 #5623257"]但不适用于 UART。 如上所述、如果我未禁用 UART 异步快速时钟(UART_0_INST->GPRCM.CLKCFG = 0xA9000100)、MCU 将无法进入低功耗模式。[/QUOT]

    可能 UART 中仍然设置了中断、请尝试观察 UART->RIS、MIS IMASK 寄存器、

    在进入 LPM 之前、请仅使 UART Rx 中断保持启用状态并保持 Rx 中断清除。

    此致、

    Helic

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

    嗨、 

    [报价 userid="571933" url="~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1465293/mspm0l1228-how-to-enable-uart-interrupt-in-low-power-mode/5623398 #562338"]

    可能 UART 中仍然设置了中断、请尝试观察 UART->RIS、MIS IMASK 寄存器、

    在进入 LPM 之前、请仅使 UART Rx 中断保持启用状态并保持 Rx 中断清除。

    [报价]

    我发送了一个示例代码。

    在 SYSCONF 中、会添加 UART0但不使用 UART0。 SysTick 计时器仍在待机1模式下运行、而不禁用 UART 异步快速时钟。

    您可以查看此内容并指导我如何在 SysTick 计时器停止的情况下进入待机1模式、然后在通过 UART 中断接收到字符时使用异步快速时钟从待机1唤醒?

    e2e.ti.com/.../sysctl_5F00_power_5F00_policy_5F00_sleep_5F00_to_5F00_standby_5F00_LP_5F00_MSPM0L2228_5F00_nortos_5F00_ticlang.zip

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

    您好、 

    请参阅 MSPM0-SDK 中的以下代码示例:

    C:\ti\mspm0_sdk_2_03_00_07\examples\nortos\LP_MSPM0G3507\driverlib\uart_echo_interrupts_standby

    我已在 LaunchPad 上对其进行了测试、LP-MPSM0G3507和 LP-MSPM0L2228都可以正常运行。

    需要在 syscfg 中将 LPM 模式从 STANBY0更改为 STANNBY1。

    此致、

    Helic

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

    嗨、 

    我 在 LP-MSPM0L2228上测试了 uart_echo_interrupts_standby、运行良好。

    (我还添加了 SysTick 以观察 LPM 模式。 并且仅在处理 UART 中断时发生。)

    但是、  

    当我将 UART 的 RX 和 TX 从 PA11/PA10更改为 PA1/PA0时、   即使没有 UART 中断、也会始终发生 SysTick。

    我使用引脚 PA1/PA0进行 UART 通信。 如何使 MCU 使用 PA1/PA0时的运行方式与使用 PA11/PA10时的运行方式一样?

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

    您好、 

    PA0和 PA1是 ODIO、需要外部上拉电阻。

    此致、

    Helic

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

    嗨、 

    [报价 userid="571933" url="~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1465293/mspm0l1228-how-to-enable-uart-interrupt-in-low-power-mode/5626262 #5626262"]PA0和 PA1是 ODIO、需要外部上拉电阻。[/QUOT]

    效果很好。 谢谢!

    顺便说一下、您能否告诉我为什么 ODIO 需要外部上拉电阻?以及为什么在未使用外部上拉电阻的情况下、即使在 LPM 模式下没有 UART 中断、SysTick 也仍然会发生

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

    您好、 

    顺便说一下、您能告诉我为什么 ODIO 需要外部上拉电阻器吗?

    请参阅 TRM IOMUX 部分、了解 ODIO M0内部电路原理图、IDIO 无法在没有外部上拉的情况下输出高电平。

    为什么在未使用外部上拉电阻器的情况下、即使在 LPM 模式下没有 UART 中断、SysTick 仍会发生

    当 ODIO 保持低电平时、UART 可能导致的 CPU 持续唤醒。

    此致、

    Helic

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

    嗨、

    非常感谢!