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.

[参考译文] MSPM0G5187:如何在使用 USB 功能时使用低功耗模式?

Guru**** 2847400 points

Other Parts Discussed in Thread: MSPM0G5187

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1632330/mspm0g5187-how-to-use-low-power-mode-while-using-usb-feature

器件型号: MSPM0G5187

您好团队:

 

USB 功能器件 MSPM0G5187 的代码样式与我们的原始示例不同。

USB 功能在 while 循环下运行。

而且没有低功耗模式指令。

 

是否无法在 USB 功能中使用低功耗模式? 保持与 USB 主机的 USB 通信时序?

或者、请分享如何在使用 USB 功能时采用低功耗模式(主机或设备)。

image.png

谢谢

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

    尊敬的 Kim:

    USB 似乎只是以 SLEEP0 运行、因此高速时钟仍处于活动状态以使 USB 正常工作。

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

    您好、Gary、

    USB 外设可以在 SLEEP0 模式下运行。

    但我很好奇如何在我们的示例代码中应用 SLEEP0 模式。

    我们的 USB 示例代码结构在 while (1) 循环下运行。 我找不到 USB 外设中断。

    因此、我们无法确定何时唤醒。

    我们如何在使用 USB 功能时使用 SLEEP0 低功耗模式?

    使用计时器 (<1ms、USB 2.0 FS) 中断、因为唤醒触发刚刚触发... 这是一个好方法吗?

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

    它确实有中断 USBFS0_IRQHandler。  

    您可以尝试将睡眠置于 while 循环中、如下所示
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    谢谢 Gary、

    让我分享我想的更多细节。

    1、USB 2.0 FS 的通信周期为 1ms ->使用 SysTick 保留该周期

    每 1ms、SysTick 就会生成中断。 因此、代码可以退出低功耗模式 (__WFI ();)

      

    2.由于上述原因、SysTick 应以 80MHz 频率运行。 ->仅在 RUN0、SLEEP0 模式下运行。

    如果用户使用 SLEEP1 低功耗模式->中断周期发生更改。

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

    您好、Ryan、感谢您的详细信息、所以它现在可以正常工作、对吧?