TI中文支持网
TI专业的中文技术问题咨询交流网站

zstack3.0.2 进入低功耗就工作异常

芯片CC2530,协议栈 zstack 3.0.2 。 我在程序ZCL初始化的时候添加进入低功耗的功能,程序如下:

 #if defined ( POWER_SAVING )
osal_pwrmgr_device( PWRMGR_BATTERY );
#endif

我在程序中通过led闪烁表示扫网时间:HalLedBlink( HAL_LED_1, 255, 55, 250);

程序在启动以后的5-6秒就直接进入了低功耗,led闪烁出现异常(正常应该闪烁30秒停止闪烁,现在现象是一开始正常闪烁,几秒以后变成忽闪忽不闪,而且每次闪烁时间极短),不确定有没有影响到扫网。

程序中我有启动一个30秒以后停止扫网的任务,貌似任务没有影响到,还是能进入,但是按键之类的工作都工作异常。

因为我现在是吧程序从zstack2.5.1移植到3.0,出现了这个现象,求解,谢谢!!!

user5351040:

而且我初始化的时候调用bdb_StartCommissioning(BDB_COMMISSIONING_MODE_NWK_STEERING | BDB_COMMISSIONING_MODE_FINDING_BINDING);进行加网绑定,抓包发现只发了一次beacon request,这是正常的吗

user5351040:

回复 Viki Shi:

不好意思,我好像打不开你发的那个链接

YiKai Chen:

到halSleep()里把下面的碼去掉試試

#ifdef HAL_SLEEP_DEBUG_LED

HAL_TURN_OFF_LED3();

#else

/* use this to turn LEDs off during sleep */

HalLedEnterSleep();

#endif

user5351040:

回复 YiKai Chen:

您好,我删掉了也不行。
我发现之前zstack版本我在扫网时候 if (halSleepPconValue != 0 && MAC_PwrOffReq(MAC_PWR_SLEEP_DEEP) == MAC_SUCCESS)这个判断不会立刻进去,扫网期间MAC_PwrOffReq返回的是0xE2,但是我现在上电5-6秒就返回了MAC_SUCCESS

user5351040:

回复 YiKai Chen:

由于新版本的入网绑定由bdb控制,我在bdb初始化添加bdb_StartCommissioning(BDB_COMMISSIONING_MODE_NWK_STEERING | BDB_COMMISSIONING_MODE_FINDING_BINDING);来扫网绑定,抓包的时候发现只有一次beacon request(没有进入低功耗也是如此),目前现象应该是没有继续扫网导致进入低功耗,请问bdb_StartCommissioning是需要重复调用的吗?

YiKai Chen:

回复 user5351040:

調用bdb_StartCommissioning(BDB_COMMISSIONING_MODE_NWK_STEERING | BDB_COMMISSIONING_MODE_FINDING_BINDING); 後應該會持續180秒、不需重覆調用

user5351040:

回复 YiKai Chen:

我这边抓包显示只有一次扫网,是不是配置上有什么问题

user5351040:

回复 YiKai Chen:

好的,谢谢

赞(0)
未经允许不得转载:TI中文支持网 » zstack3.0.2 进入低功耗就工作异常
分享到: 更多 (0)