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.

[参考译文] MSPM0G3107:如何使用引脚 PA26(用作模拟引脚)唤醒微控制器 Mspm0g3107

Guru**** 2524550 points
Other Parts Discussed in Thread: MSPM0G3107, MSPM0G3507, SYSCONFIG

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1551104/mspm0g3107-how-to-wake-up-the-microcontroller-mspm0g3107-using-pin-pa26-which-is-used-as-analog-pin

器件型号:MSPM0G3107
Thread 中讨论的其他器件: MSPM0G3507SysConfig

工具/软件:

您好团队:

我们使用的是 MSPM0G3107 微控制器、带有引脚 PA26 配置为模拟电池电压输入。 当该引脚上的电压上升到高于时 1V 微控制器应唤醒。 相反、当 PA26 上的电压降至以下时 1V 、微控制器应进入睡眠模式。 您能指导我们如何实现此功能吗?

         

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

    您好、

    我明天就回复你。

    此致、
    彼得

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

    您好、Peter:

    您能告诉我们如何使用引脚制造 MSPM0G3107 微控制器吗  PA26  配置为模拟电池电压输入。 当该引脚上的电压上升到高于时  1V 微控制器应唤醒。 相反、当 PA26 上的电压降至以下时  1V 、微控制器应进入睡眠模式。

    此致、

    Pradeep

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

    您好  Pradeep、

    我想您可以先参考 MSPM0 SDK 中的代码示例“adc12_triggered_by_timer_event_stop" 。“。

    “Your MSPM0_SDK Download Folder\mspm0_sdk_xxxx\examples\nortos\LP_MSPM0G3507\driverlib\“

    此致、
    彼得

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

    您好、Peter、

    感谢您的支持。

    我找到了以下代码:

    #define ADC12_BIT_RESOLUTION (12)
    #define ADC12_REF_VOLTAGE (3.3)
    #define ADC12_MONITOR_VOLTAGE (1.5)
    #define ADC12_MONITOR_VALUE \
      (1 << ADC12_BIT_RESOLUTION)*(ADC12_MONITOR_VOLTAGE /ADC12_REF_VOLTAGE))

    内部 main (void)
      SYSCFG_DL_init ();

      /*配置窗口比较器以检测 VDDA/2 以上和以下的变化*/
      DL_ADC12_configWinCompHighThld (
        ADC12_0_INST、(uint16_t) ADC12_MONITOR_VALUE);

      DL_ADC12_configWinCompLowThld (
        ADC12_0_INST、(uint16_t) ADC12_MONITOR_VALUE);

      NVIC_EnableIRQ (ADC12_0_INST_INT_IRQN);

      DL_TimerG_startCounter (TIMER_0_INST);

      while (1){
        __ WFI ();
      }
    }

    void ADC12_0_INST_IRQHandler (void)
      开关 (DL_ADC12_getPendingInterrupt (ADC12_0_INST)){
        对于 DL_ADC12_IIDX_WINDOW_COMP_HIGH:
          DL_GPIO_clearPins (GPIO_LEDS_PORT、GPIO_LEDS_USER_LED_1_PIN);
          休息
        用例 DL_ADC12_IIDX_WINDOW_COMP_LOW:
          DL_GPIO_setPins (GPIO_LEDS_PORT、GPIO_LEDS_USER_LED_1_PIN);
          休息
        默认值
          休息
      }
    }
    这里的 LED 会根据 ADC12_MONITOR_VALUE 变为开启和关闭。 但我想让 MCU 唤醒和睡眠。如何实现这一点?
    此致、
    Pradeep
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好  Pradeep、

    如果您已在 SysConfig 中设置低功耗模式、则可以使用“__WFI ()“或“__WFE ()“进入相应的低功耗模式。

    此致、
    彼得