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.

CC3200 LPDS模式下的引脚配置

Other Parts Discussed in Thread: CC3200

CC3200在用Pinmux配置引脚时,想将暂时不用的GPIO口配置为Low Power Deep Sleep模式,请问GPIO引脚的配置该如何设置?或者请问有没有参考例程呢?

  • 低功耗深度睡眠(LPDS)模式是 CC3200 中 Cortex-M4 核的一种重要的低功耗睡眠模式。

    关于LPDS模式,建议您先看一下

    http://www.ti.com.cn/cn/lit/an/zhca635/zhca635.pdf

    以及

    https://e2e.ti.com/support/embedded/tirtos/f/355/p/574775/2119936#pi317008filter=all&pi317008scroll=false

  • 很高兴能帮到您!

  • 参考如下代码


    //****************************************************************************
    //
    //! Enter the HIBernate mode configuring the wakeup timer
    //!
    //! \param none
    //! 
    //! This function 
    //! 1. Sets up the wakeup RTC timer
    //! 2. Enables the RTC
    //! 3. Enters into HIBernate 
    //!
    //! \return None.
    //
    //****************************************************************************
    void EnterHIBernate()

    #define SLOW_CLK_FREQ (32*1024)
    //
    // Configure the HIB module RTC wake time
    //
    MAP_PRCMHibernateIntervalSet(5 * SLOW_CLK_FREQ);

    //
    // Enable the HIB RTC
    //
    // MAP_PRCMHibernateWakeupSourceEnable(PRCM_HIB_SLOW_CLK_CTR);
    //------------------------------------------------------------Hib模式下增加GPIO唤醒--------------------------------------------------------------- 
    // PRCMHibernateWakeupSourceEnable入口参数 
    // PRCM_HIB_SLOW_CLK_CTR -PRCM_HIB_GPIO2 -PRCM_HIB_GPIO4 -PRCM_HIB_GPIO13 -PRCM_HIB_GPIO17 -PRCM_HIB_GPIO11 -PRCM_HIB_GPIO24 -PRCM_HIB_GPIO26 
    PRCMHibernateWakeupSourceEnable(PRCM_HIB_GPIO13);
    PRCMHibernateWakeUpGPIOSelect(PRCM_HIB_GPIO13,PRCM_HIB_FALL_EDGE); //按键按下去产生上升沿,松开后产生下降沿!注意入口参数的顺序!!!
    //------------------------------------------------------------------------------------------------------------------------------------------------

    // DBG_PRINT("HIB: Entering HIBernate...\n\r");
    UART_PRINT("Entering HIB\n\r"); 
    MAP_UtilsDelay(80000);

    //
    // powering down SPI Flash to save power 
    //
    Utils_SpiFlashDeepPowerDown();
    //
    // Enter HIBernate mode
    //
    MAP_PRCMHibernateEnter();
    }

    // set_rtc_as_wk_src(WK_LPDS, LPDS_DUR_SEC, false); //测试LPDS功耗,不使用定时器唤醒,仅使用GPIO唤醒!
    // set_gpio_as_wk_src(WK_LPDS, GPIO_SRC_WKUP, PRCM_LPDS_FALL_EDGE);
    //------------------------------------------------------------------注意!!--------------------------------------------------------------------------------------------- 
    // set_gpio_as_wk_src(WK_HIB, GPIO_SRC_WKUP, PRCM_LPDS_FALL_EDGE); //必须设置进入Hib模式下的中断唤醒源,否则无法进入Hib模式
    //注意在sl_Stop(10)之前不要启动该语句,否则NWP在sl_Stop(10)之后就自动进入了Hib模式但是唤醒源并没设置OK,直接屏蔽该语句,用EnterHIBernate();即可

    // 对应低功耗模式:
    // e_pm_S0, // CPU & HW modules are functioning at optimal & intended freq Active模式
    // e_pm_S1, // CPU is halted, high freq PLL CLK is available to HW modules Sleep模式
    // e_pm_S2, // CPUSS is clk gated, Mid freq CLK is availalbe to HW modules DPS模式
    // e_pm_S3, // SoC almost pwr off, slow CLK is present & OCRAM is retained LPDS模式
    // e_pm_S4 // SOC almost pwr off, slow CLK is present & few regs retained hib模式