开发平台:SimpleLink CC13x2 / 26x2 SDK ,IAR
使用芯片:CC2652R
设备类型:协调器
使用模板:C:\ti\simplelink_cc13x2_26x2_sdk_3_40_00_02\examples\rtos\CC26X2R1_LAUNCHXL\zstack\zc_cie
工程配置:
NPI_USE_UART
NPI
ZTOOL_P1
MT_TASK
MT_APP_FUNC
MT_SYS_FUNC
MT_AF_FUNC
MT_ZDO_FUNC
MT_ZDO_CB_FUNC
MT_NWK_FUNC
MT_NWK_CB_FUNC
MT_UTIL_FUNC
MT_APP_CNF_FUNC
ZCL_READ
ZCL_DISCOVER
ZCL_WRITE
ZCL_BASIC
ZCL_IDENTIFY
ZCL_ZONE
ZCL_WD
ZCL_ACE
TIMAC_ROM_IMAGE_BUILD
TIMAC_ROM_PATCH
xUSE_ZCL_SAMPLEAPP_UI
MAX_STATUS_LINES=10
ZSTACK_SECURITY
xBOARD_DISPLAY_USE_UART
FREQ_2_4G
OSAL_PORT2TIRTOS
OSAL_PORT2TIRTOS_OSALMAP
STACK_LIBRARY
RCN_APP_ASSERT
HAL_ASSERT_SPIN
ZDO_API_BASIC
TC_LINKKEY_JOIN
NV_RESTORE
NV_INIT
FEATURE_NON_BEACON_MODE
ZCL_STANDALONE
MAX_DEVICE_TABLE_ENTRIES=50
NVOCMP_NVPAGES=2
DEVICE_FAMILY=cc26x0
CC26X2R1_LAUNCHXL
DeviceFamily_CC26X2
遇到的问题:
1、关于组网
通过例程,了解到3.0的协议栈现在都是通过BDB来实现的,通过Zstackapi_bdbStartCommissioningReq(),可以启动网络,里边有4种配置:
BDB_COMMISSIONING_MODE_INITIATOR、
BDB_COMMISSIONING_MODE_NWK_STEERING、
BDB_COMMISSIONING_MODE_NWK_FORMATION、
BDB_COMMISSIONING_MODE_FINDING_BINDING;
根据我的试验,单独配置BDB_COMMISSIONING_MODE_NWK_FORMATION,会建立网络,配置BDB_COMMISSIONING_MODE_NWK_FORMATION | BDB_COMMISSIONING_MODE_NWK_STEERING的话,会建立网络并且打开允许入网。
ZHA1.2种的允许入网用的是NLME_PermitJoiningRequest()。然后我看3.0协议栈里,还有这个函数,请问它和 BDB_COMMISSIONING_MODE_NWK_STEERING的允许入网有说明区别么?或者我可以先通过BDB_COMMISSIONING_MODE_NWK_FORMATION建立网络,不配置BDB_COMMISSIONING_MODE_NWK_STEERING,然后再调用NLME_PermitJoiningRequest()来允许入网么?
2、设备入网
我初始化里,配置了BDB_COMMISSIONING_MODE_NWK_FORMATION | BDB_COMMISSIONING_MODE_NWK_STEERING,启机之后立即打开了允许入网,从抓包里也能看出来。这时我让一个ZHA1.2的路由开关申请入网,能看到抓包里有关联请求,协调器也发了关联回应,但是就没有后来transkey了,开关一直入不了网,我检查了别人提到过的配置,
#define BDB_DEFAULT_JOIN_USES_INSTALL_CODE_KEY FALSE
#define BDB_DEFAULT_TC_REQUIRE_KEY_EXCHANGE FALSE
这两项都是FALSE的。
3、PA
我的zigbee模块使用了CC2592做PA的,但是在协议栈和SysConfig里找了两天,还是没有看到从哪里开启PA的设置,ZHA协议栈里是添加“HAL_PA_LNA_CC2592”的定义来启用PA的。