1、正常运行状态下,长按某一个按钮后,进入关机状态。
2、关机状态下,点按同一个按钮,从关机状态唤醒,进入正常运行状态。
请问能否实现?
目前实测效果是,可以关机,但是无法唤醒。
huazhen zheng:
没用过CC2650,stm32的唤醒脚是特定的,即不是所有的IO都能作为低功耗唤醒脚。
user1388075:
还有一个关于关机的问题,
某个控制灯的管脚关机之前输出高电平,关机之后,电平是否会发生变化成低电平?
然后由关机恢复成正常模式,灯的那个管脚是什么电平?
huazhen zheng:
回复 user1388075:
一般RAM都不能保持的睡眠,电平是不保持的。RAM保持的睡眠,一般电平是保持的。
以上两个问题,都可以通过参考手册查到。
Viki Shi:
可以参考一下pininterrupt及pinshutdown例程,路径:C:\ti\tirtos_cc13xx_cc26xx_2_21_01_08\examples\TI\CC2650_LAUNCHXL
user1388075:
回复 Viki Shi:
就是按照这个历程来的。
目前是关机可以 进入断点。然后再点击按钮,程序main开头处的断点没反应。
user1388075:
回复 huazhen zheng:
关机模式下ram保持不了吧?
user1388075:
回复 Viki Shi:
/* If we are waking up from shutdown, we do something extra. */if (isWakingFromShutdown) {/* In this example we toggle LED1 */volatile uint32_t sleepUs = 500000;for( int i = 0; i< 10; i++){PIN_setOutputValue(hPins, Board_LED0, 0);Task_sleep(sleepUs / Clock_tickPeriod);PIN_setOutputValue(hPins, Board_LED0, 1);Task_sleep(sleepUs / Clock_tickPeriod);}}
/* Turn on LED0 to indicate active */PIN_setOutputValue(hPins, Board_LED0, 1);
/* Pend on semaphore before going to shutdown */Semaphore_pend(Semaphore_handle(&shutdownSem), BIOS_WAIT_FOREVER);
/* Turn off LED0 */PIN_setOutputValue(hPins, Board_LED0, 1);
/* Configure DIO for wake up from shutdown */PINCC26XX_setWakeup(ButtonTableWakeUp);
/* Go to shutdown */Power_shutdown(NULL, 0);
/* Should never get here, since shutdown will reset. */while(1);ButtonTableWakeUp和shutshuttable里面的管脚ID是同一个按钮的。
TI中文支持网


