Quantcast
Channel: 蓝牙论坛 - 最近的话题
Viewing all articles
Browse latest Browse all 7485

CC2540功耗模式设置问题

$
0
0

Hi 大家好!

我在CC2540功耗模式设置上遇到了一些问题,CC2540功耗模式该如何设置?

我现在想要让CC2540进入PM3模式,按键触发后退出睡眠进入正常工作的模式,如PM2、PM1和PM0。

我在simpleBLEcenter例程上修改,在void SimpleBLECentral_Init( uint8 task_id )末尾写上如下函数:

OSAL_SET_CPU_INTO_SLEEP( 0 );

结果CC2540无法正常工作了,Debug发现程序停留在OSAL_SET_CPU_INTO_SLEEP( 0 ); 估计已经进入睡眠,但是我怎么按按键都无法唤醒。

但是我将

OSAL_SET_CPU_INTO_SLEEP( 0 );写在uint16 SimpleBLECentral_ProcessEvent( uint8 task_id, uint16 events )的

 if ( events & START_DEVICE_EVT )
  {
    // Start the Device
    VOID GAPCentralRole_StartDevice( (gapCentralRoleCB_t *) &simpleBLERoleCB );

    // Register with bond manager after starting device
    GAPBondMgr_Register( (gapBondCBs_t *) &simpleBLEBondCB );

     OSAL_SET_CPU_INTO_SLEEP( 0 );

……}

又可以用按键唤醒,并正常工作。

疑问:1、OSAL_SET_CPU_INTO_SLEEP( 0 );这个函数可以进入功耗模式PM3吗?标准的进入功耗PM3的写法是怎么样子的?

          2、退出睡眠又该如何操作?需要在中断函数里将PM3先转变为PM2等其他模式吗?

谢谢!


Viewing all articles
Browse latest Browse all 7485

Trending Articles