TI中文支持网
TI专业的中文技术问题搜集分享网站

TI的BLE-CC254x-1.4.0中SimpleBLEPeripheral工程示例不能休眠

hi,各位工程师好,

我最近再遇到从机SimpleBLEPeripheral进不了低功耗的问题,就先拿TI的示例代码来调试。板子用的是TI原厂的开发板,工程设置中开启了Power_saving,又在工程中不启动 SBP_PERIODIC_EVT事件,然后发现在以下函数

void osal_pwrmgr_powerconserve( void )
{
  uint32        next;
  halIntState_t intState;
   // Should we even look into power conservation
  if ( pwrmgr_attribute.pwrmgr_device != PWRMGR_ALWAYS_ON )
  {
    // Are all tasks in agreement to conserve
    if ( pwrmgr_attribute.pwrmgr_task_state == 0 )
    {
      // Hold off interrupts.
      HAL_ENTER_CRITICAL_SECTION( intState );

      // Get next time-out
      next = osal_next_timeout();

      // Re-enable interrupts.
      HAL_EXIT_CRITICAL_SECTION( intState );

      // Put the processor into sleep mode
      OSAL_SET_CPU_INTO_SLEEP( next );
    }
  }
}

pwrmgr_attribute.pwrmgr_device 一直等于 PWRMGR_ALWAYS_ON,导致进入不了低功耗。我猜测有东西没关掉一直在跑,特向各位工程师求助

Yang Yang29:

现在说一下进展,我将osal_start_timerEx( Hal_TaskID, HAL_KEY_EVENT, 100);注释掉之后,能进到if ( pwrmgr_attribute.pwrmgr_task_state == 0 )这个判断语句里面去,打断点调试来看,一直频繁进去,不断地走到这个断点,好像有什么一直在唤醒,有没有人遇到过?

Yang Yang29:

回复 Yang Yang29:

TI的技术人员呢,都好几天过去了,一个回答的也没有,这是你们自己的例程

Viki Shi:

回复 Yang Yang29:

1、例程有没有修改过?

2、是否有其他开发板换块测试下?

Yang Yang29:

回复 Viki Shi:

1.唯一的修改就是注释掉了osal_start_timerEx( Hal_TaskID, HAL_KEY_EVENT, 100) 和osal_start_timerEx( simpleBLEPeripheral_TaskID, SBP_PERIODIC_EVT, SBP_PERIODIC_EVT_PERIOD )

2.没有换其他开发板,用的还是从TI买的板子

3.KeyFob是能进入低功耗PM3的,simpleBLEPeripheral进不去

赞(0)
未经允许不得转载:TI中文支持网 » TI的BLE-CC254x-1.4.0中SimpleBLEPeripheral工程示例不能休眠
分享到: 更多 (0)