微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > TI蓝牙设计交流 > 请帮忙解决BLE蓝牙低功耗配置问题

请帮忙解决BLE蓝牙低功耗配置问题

时间:10-02 整理:3721RD 点击:

例程为SimpleBLEPeripheral   芯片2540

开启POWER_SAVING后调试

断点osal_pwrmgr_device( PWRMGR_BATTERY );程序试行此句后,pwrmgr_attribute.pwrmgr_device变为0x01(PWRMGR_BATTERY )没有问题。

继续向下执行到处理任务events = (tasksArr[idx])( idx, events );时,程序又再次跳转到osal_pwrmgr_device函数,并将0x01改为0x00(PWRMGR_ALWAYS_ON)

导致后面判断if ( pwrmgr_attribute.pwrmgr_device != PWRMGR_ALWAYS_ON )出错,,,无法进入sleep.

我watch执行任务处理函数events = (tasksArr[idx])( idx, events );时,idx=0;events=128

请问为什么会再次跳到osal_pwrmgr_device函数?是哪里问题导致无法进入sleep.

谢谢

您是否有修改例程?是不是工程内还有事件,所以一直没有进入低功耗模式?

你好,

你是直接参考的TI例程还是你自己修改了程序?

您好,我用的是ti的例程。在此基础上有所修改,增加了按键显示处理等应用层程序,增加部分我感觉应该不会影响协议栈。

我想知道的是 为什么 处理任务函数指针events = (tasksArr[idx])( idx, events );会跳转到osal_pwrmgr_device函数?

是因为调用的LL_ProcessEvents函数进入的吗?

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top