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.

[参考译文] CC3235MODSF:区分 GPIO 从间歇性连接状态下的常规唤醒

Guru**** 2540720 points


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

https://e2e.ti.com/support/wireless-connectivity/wi-fi-group/wifi/f/wi-fi-forum/919701/cc3235modsf-differentiate-gpio-wake-up-from-regular-wake-up-in-intermittently-connected-state

器件型号:CC3235MODSF

您好!

我已经使用示例程序将 CC3235 Launchpad 设置为间歇性连接模式。 它会在特定的时间间隔内自动唤醒并通过激活 GPIO 引脚来唤醒。 我想区分正常唤醒和 GPIO 唤醒。

我已经更新了 wakeLPDSFxn 中的函数名称、但从未调用过它。

请帮我区分 GPIO 从常规唤醒。

CONST PowerCC32XX_ConfigV1 PowerCC32XX_CONFIG ={
policyInitFxn = PowerCC32XX_initPolicy、
policyFxn = PowerCC32XX_sleepPolicy、
enterLPDSHookFxn = wakeHookFxn、
resumeLPDSHookFxn = wakeLPDSFxn、
.enablePolicy = true、
.enableGPIOWakeupLPDS = true、
.enableGPIOWakeupShutdown = true、
.enableNetworkWakeupLPDS = true、
.wakeupGPIOSourceLPDS = PRCM_LPD_GPIO13、
.wakeupGPIOTypeLPDS = PRCM_LPD_FALL_EDGE、
.wakeupGPIOFxnLPDS = gpioWakeFxn、
.wakeupGPIOFxnLPDSArg=0、
.wakeupGPIOSourceShutdown = PRCM_HIB_GPIO13、
.wakeupGPIOTypeShutdown = PRCM_HIB_RISE_EDGE、
.ramRetentionMaskLPDS = PRCM_SRAM_COL_1|PRCM_SRAM_COL_2|PRCM_SRAM_COL_3|PRCM_SRAM_COL_4、
keepDebugActiveDuringLPDS = true、
ioRetentionShutdown = PRCM_IO_RET_GRP_1、
.pinParkDefs = parkInfo、
.numPins = 31
};

void gpioWakefxn (uint_least8_t 参数)

G_performOtaCommand = 1;

此致、

Sundar

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

    您好、Sundar、

     在间歇性连接 模式下、器件会进入休眠(关断)模式、而不是进入 LPDS (这说明了为何不调用挂钩回调)。

    您可以使用 PRCMHibernateWakeupCauseGet ()获取唤醒源。

    BR、

    Kobi

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

    您好、Kobi、

    它工作得很好。 感谢你的帮助。

    上述功能返回2用于计时器唤醒、返回4个 GPIO 唤醒(SW2开关)。

    另一个问题是、它是否会为不同的 GPIO 引脚唤醒返回不同的值?  

    此致、

    Sundar

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

    否、请参阅以下 prcm.h 中的 def:

    //
    //可以传递给 PRCMHibernateWakeupCauseGet ()的值。
    //
    #define PRCM_HIB_WAKEUP_CAUSE_SLOW_CLOCK 0x00000002
    #define PRCM_HIB_WAKEUP_CAUSE_GPIO          0x00000004

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

    您好、Kobi、

    感谢您分享信息。 因此、当从间歇性连接模式唤醒时、我无法区分 GPIO 引脚。

    此致、

    Sundar