找回密码
 立即注册

微信扫码登录

查看: 221|回复: 1

寻网过程中调用zb_nwkDiscoveryStop();函数,导致BDB状态一直处于3

[复制链接]

2

主题

4

回帖

54

积分

不屈白银

积分
54
发表于 2025-7-30 18:17:58 | 显示全部楼层 |阅读模式 来自 广东深圳
information
说明:   建议参照本版块置顶帖内容输入必要信息
芯片型号: TLSR8656
SDK及版本: V3.6.8.7
终端设备在调用完bdb_networkSteerStart();开始扫网之后,通过按键触发回调,调用zb_nwkDiscoveryStop();函数停止扫网,发现BDB的状态一直处于3:

BDB_STATE_GET() = 3, g_bdbAttrs.commissioningStatus = 1。
导致在休眠循环函数的条件bdb_isidle一直无法进入,然后一直无法休眠。这个问题怎么解决?

27

主题

313

回帖

994

积分

版主

积分
994
发表于 4 天前 | 显示全部楼层 来自 上海
在调用bdb_networkSteerStart()后,底层会在各个信道扫网(active scan)并尝试入网,最终将入网的结果通过回调zbdemo_bdbCommissioningCb()通知到上层,形成一次闭环。
建议每启动一次bdb_networkSteerStart,就等待一次zbdemo_bdbCommissioningCb。

在demo中,当入网失败(BDB_COMMISSION_STA_NO_NETWORK、BDB_COMMISSION_STA_TCLK_EX_FAILURE、或BDB_COMMISSION_STA_TARGET_FAILURE),
会再次启动bdbNetworkSteerStart,直到入网成功,才会进入休眠。

你可以将zbdemo_bdbCommissioningCb()中的启动bdbNetworkSteerStart注释掉,改为按键触发。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Telink forum ( 沪ICP备17008231号-1 )

GMT+8, 2025-8-30 23:53 , Processed in 0.104426 second(s), 20 queries .

Powered by Telink 隐私政策

泰凌微电子版权所有 © 。保留所有权利。 2024

快速回复 返回顶部 返回列表