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.

[参考译文] MSPM0G3519:我的唤醒功能有什么问题? (MSPM0G3519)

Guru**** 2552870 points


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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1568458/mspm0g3519-what-is-wrong-with-my-wakeup-function-mspm0g3519

器件型号:MSPM0G3519


工具/软件:

我有一个按钮配置为 PA28 上的 GPIO 输入、并在 syscfg 中标记为 MCU_BTNn。  这是一个低电平有效按钮,当我按住按钮超过 3 秒时,我们调用下面的 shutdown () 函数,它成功地关闭应用程序,但在我按下按钮时不唤醒应用程序。  我已经在示波器上验证、按下按钮时、该按钮会将 I/O 下拉至逻辑 0。  有人在我的关断功能方面看到任何无法正确设置该引脚的唤醒功能的问题吗?

关断 ()
  //操作模式关断
  DL_GPIO_clearPins (GPIOC、DL_GPIO_PIN_5); // LED 蓝色 GPIO
  DL_GPIO_clearPins (GPIOB、DL_GPIO_PIN_0); //调试 LED
  //我的 ti_msp_dl_config.h 中的有用信息:
  /*定义 USER_BTN:GPIOA.28 并在封装引脚 3 上使用 pinCMx 3 */
  //受此中断请求影响的引脚:[“USER_BTN"]</s>“
  //#define MCU_BTNn_INT_IRQN                    (GPIOA_INT_IRQn)
  //#define MCU_BTNn_INT_IIDX            (DL_INTERRUPT_GROUP1_IIDX_GPIOA)
  //#define MCU_BTNn_USER_BTN_IIDX                (DL_GPIO_IIDX_DIO28)
  //#define MCU_BTNn_USER_BTN_PIN                  (DL_GPIO_PIN_28)
  //#define MCU_BTNn_USER_BTN_IOMUX                  (IOMUX_PINCM3)
  DL_GPIO_initDigitalInputFeatures (MCU_BTNn_USER_BTN_IOMUX、DL_GPIO_INVERSION_DISABLE、
    DL_GPIO_RESISTER_NONE、DL_GPIO_HYSTERESIS T_DISABLE、DL_GPIO_WAKEUP_ON_0);
  for (int i=0;i<100000;i++){_asm(“nop")“);}//暂停片刻

  DL_SYSCTL_setPowerPolicySHUTDOWN()
  while (1)
  {
    __WFI ();/*输入选定的电源策略*/
  }
}
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我把它弄清楚了。  首先、我注意到我没有在 syscfg 中为该引脚正确配置 iomux。  这最终使唤醒功能能够正常工作。  然后,我不得不 在关闭前调用 DL_SYSCTL_releaseShutdownIO ();函数,以防止关闭后立即唤醒。