This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

CC2652R: sdk_5_20_00_52;zigbee协议栈;修改信道扫描时间

Part Number: CC2652R


syscfg配置如图:

zstack_bdbSetAttributesReq_t zstack_bdbSetAttrReq;

 zstack_bdbSetAttrReq.bdbScanDuration                      = BDB_SCAN_DURATION;

zstack_bdbSetAttrReq.has_bdbScanDuration                  = TRUE;

Zstackapi_bdbSetAttributesReq(appServiceTaskId, &zstack_bdbSetAttrReq);

BDB_SCAN_DURATION值改为0x0D,通过抓包发现信道扫描时间并没有改变,只是发送2条beacon request,就不在发送,请问如何更改信道扫描时间?

  • 默认的扫面时间是0x04,在 bdb_interface.h修改宏定义的值

    //Default values for BDB attributes
    #define BDB_DEFAULT_COMMISSIONING_GROUP_ID 0xFFFF
    #define BDB_DEFAULT_JOIN_USES_INSTALL_CODE_KEY FALSE
    #define BDB_DEFAULT_PRIMARY_CHANNEL_SET DEFAULT_CHANLIST //BDB specification default is: 0x02108800
    #define BDB_DEFAULT_SCAN_DURATION 0x04
    #define BDB_DEFAULT_SECONDARY_CHANNEL_SET SECONDARY_CHANLIST //BDB specification default is: (0x07FFF800 ^ 0x02108800)
    #define BDB_DEFAULT_TC_LINK_KEY_EXCHANGE_METHOD BDB_TC_LINK_KEY_EXCHANGE_APS_KEY
    #define BDB_DEFAULT_TC_NODE_JOIN_TIMEOUT 0x0F
    #define BDB_DEFAULT_TC_REQUIRE_KEY_EXCHANGE FALSE

  • 除了修改BDB_DEFAULT_SCAN_DURATION值外,还有其他方法修改信道扫描时间吗?

  • 目前发现在扫描时间内只发送一次beacon request,如何修改发送beacon request次数?

  • 扫描时间是在初始化中设置的,修改成功不就好了,再怎么改还是在初始化中完成

    会在各个信道广播beacon request,查询哪个网络允许加入,没有加入网络时应该还能看到beacon request

  • 只设置一个信道。

    节点没有加入网络,就会停止发送beacon request,不会持续发送beacon request。

    怎么设置可以让节点持续发送beacon?

  • zigbee3.0的协议栈中使用Commissioning来加入网络,加入过程(network steering)可以通过 bdb_StartCommissioning(BDB_COMMISSIONING_MODE_NWK_STEERING) 重新启动。

    想发送多个beacon request ,多次调用bdb_StartCommissioning就可以了

    如果使用例程,通过按BUTTON1开始bdb_StartCommissioning,每按一次就会发一次beacon request