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.

BLE-CC254x-1.3.2/SimpleBLEPeripheral怎么进入和退出PM3模式?

Other Parts Discussed in Thread: CC2541

我用的芯片的CC2541,程序采用BLE-CC254x-1.3.2中的SimpleBLEPeripheral例子,程序的宏定义配置如下:
INT_HEAP_LEN=3072
HALNODEBUG
OSAL_CBTIMER_NUM_TASKS=1
HAL_AES_DMA=FALSE
HAL_DMA=TRUE
POWER_SAVING
xPLUS_BROADCASTER
HAL_LCD=FALSE
HAL_LED=FALSE

将定时器SBP_PERIODIC_EVT停止后,发现芯片工作电流还在200多uA,感觉芯片此时还是处于PM1模式。

如果程序中直接设置SLEEPCMD寄存器(SLEEPCMD |= 3;    PCON = 0x01;),则可以进入PM3模式,此时芯片工作电流为0.3uA左右,与手册上描述一致。 但这样处理后,但又不知怎么退出PM3模式?

请指点,谢谢!

  • 首先建议您升级到最新的协议栈1.4.1或者1.4.0

    其次不建议直接设置寄存器修改芯片的休眠状态,因为协议栈会自动根据实际需要决定是否要进入PM3,不进入说明还有事件需要处理,协议栈在进入PM3之前会保存需要的一些状态值,如果强制设置进入,可能会导致状态集混乱导致后续无法正常工作

    进入PM3之后,芯片只能通过外部中断唤醒。