其实我在其它帖子曾经问过cc2640 有没有比POWERSAVING更省电的模式,TI 员工推荐了 PIN SHUTDOWN的例子。
我参考了这个例子,也进入SHUTDOWN功能,但电流仍有1.7uA, 而且按键唤醒不会RESET,也就是说仍然在SHUTDOWN模式,但会进入按键回调函数 , 而且发现RTC仍在跑。 我的程序流程如下:
#define KEY_IO IOID_15
//IO配置需要的数组PIN_Config keyPinsCfg[] ={ KEY_IO | PIN_GPIO_OUTPUT_DIS | PIN_INPUT_EN | PIN_PULLUP | PINCC26XX_WAKEUP_NEGEDGE,
PIN_TERMINATE};
//进入 shutdown
/* Pend on semaphore before going to shutdown */
Semaphore_pend(Semaphore_handle(&shutdownSem), BIOS_WAIT_FOREVER);
/* Configure DIO for wake up from shutdown */
PINCC26XX_setWakeup(keyPinsCfg);
/* Go to shutdown */
Power_shutdown(NULL, 0);
/* Should never get here, since shutdown will reset. */
while(1);
我仿真发现在有执行 Power_shutdown() , 而且不会跑到 while(1) , 但电流仍有1.7uA, 而且按键唤醒不会RESET,也就是说仍然在SHUTDOWN模式,但会进入按键回调函数 , 而且发现RTC仍在跑。
请问还缺少了什么没做?
Eggsy Pang:
仿真器连接会带来电流损耗,把仿真器去掉在测一下电流