在线时间587 小时
UID3253488
注册时间2016-3-21
NXP金币0
TA的每日心情 | 怒 2017-1-4 08:05 |
---|
签到天数: 11 天 [LV.3]偶尔看看II
版主
- 积分
- 2569
- 最后登录
- 2019-3-28
|
最近测试LPC812的功耗,直接把例程抠出来用,发现根本不能唤醒啊,不知道有什么需要特殊注意的事项吗?- void WKT_IRQHandler(void)
- {
- /* Clear WKT interrupt request */
- Chip_WKT_ClearIntStatus(LPC_WKT);
- /* LED will toggle state on wakeup event */
- Board_LED_Toggle(0);
- }
- /**
- * @brief Main program body
- * @return Does not return
- */
- int main(void)
- {
- uint32_t regVal;
- /* Generic Initialization */
- SystemCoreClockUpdate();
- Board_Init();
- /* Alarm/wake timer as chip wakeup source */
- Chip_SYSCTL_EnablePeriphWakeup(SYSCTL_WAKEUP_WKTINT);
- /* Enable and reset WKT clock */
- Chip_Clock_EnablePeriphClock(SYSCTL_CLOCK_WKT);
- Chip_SYSCTL_PeriphReset(RESET_WKT);
- /* Disable wakeup pad */
- Chip_PMU_ClearPowerDownControl(LPC_PMU, PMU_DPDCTRL_WAKEPAD | PMU_DPDCTRL_LPOSCDPDEN);
- /* Disable wakeup hysteresis by setting the bit (set to disable),
- enable 10KHz oscillator for all power down modes including deep
- power-down */
- Chip_PMU_SetPowerDownControl(LPC_PMU, PMU_DPDCTRL_WAKEUPPHYS | PMU_DPDCTRL_LPOSCEN |
- PMU_DPDCTRL_LPOSCDPDEN);
- /* Enable WKT interrupt */
- NVIC_EnableIRQ(WKT_IRQn);
- /*
- * Note that deep power down causes a reset when it wakes up.
- * If the CPU was in deep power-down before the reset,
- * then PCON, DPDFLAG will be set.
- *
- * This code clears DPDFLAG (by writing a one to it)
- * then sets the RED LED for about 500ms.
- */
- if (LPC_PMU->PCON & PMU_PCON_DPDFLAG) {
- regVal = LPC_PMU->PCON;
- regVal |= PMU_PCON_DPDFLAG;
- LPC_PMU->PCON = regVal;
- Board_LED_Set(0, true);
- delay(0x100000);
- }
- /* Loop various tests */
- while (1) {
- /* You'll probably lose the debugger connection in the following
- statements as the MCU goes into low power mode. */
- /* Wakeup test with 10KHz clock, 1s wakeup, and PMU sleep state */
- WakeupTest(WKT_CLKSRC_10KHZ, 1, PMU_MCU_SLEEP);
- /* Wakeup test with 10KHz clock, 1s wakeup, and PMU deep sleep state */
- WakeupTest(WKT_CLKSRC_10KHZ, 1, PMU_MCU_DEEP_SLEEP);
- /* Wakeup test with 10KHz clock, 1s wakeup, and PMU MCU power down state */
- WakeupTest(WKT_CLKSRC_10KHZ, 1, PMU_MCU_POWER_DOWN);
- /* Wakeup test with 10KHz clock, 1s wakeup, and PMU MCU deep power down state */
- WakeupTest(WKT_CLKSRC_10KHZ, 1, PMU_MCU_DEEP_PWRDOWN);
- }
- }
复制代码
最佳答案
技术范儿 发表于 2016-9-22 17:38
按照你上面的配置不能进入休眠啊
首先我有点懵圈,不知道你所说的wakeup pin是否就是指唤醒管脚(PIO_4),其实针对进入各类低功耗和配置对应的唤醒源在参考手册都有给出,你可以首先 ...
|
|