在CC2650的sampleswitch 内移植CC2530的发送程序,编译报错函数NLME_GetShortAddr()和NLME_GetCoordShortAddr()没有定义,这两个函数在Zstackcore-endDevice项目内,NWK目录下的NLMEDE.h内。
因为CC2650 是协议栈和APP分开两个项目,因此想问一下,在sampleswitch内怎么引用协议栈项目里的函数呢?
在文件前面加 #include NLMEDE.h 报错找不到文件。
Alvin Chen:
请阅读Z-stack simple API文档后使用协议栈。
可以调用zb_GetDeviceInfo函数,如何使用在文档中。
该函数可以获取设备状态以及IEEE地址。短地址, parent short addrs
Alvin Chen:
回复 Alvin Chen:
文档目录:
C:\ti\simplelink\zstack_home_1_02_02a_44539\Documents\API\
zhu weihua:
回复 Alvin Chen:
更换成如下函数后
zb_GetDeviceInfo(ZB_INFO_SHORT_ADDR,nwkAddr);zb_GetDeviceInfo(ZB_INFO_PARENT_SHORT_ADDR,parentNwkAddr);
编译
Error[Li005]: no definition for "zb_GetDeviceInfo" [referenced from C:\ti\simplelink\zstack_home_1_02_02a_44539\Projects\zstack\HomeAutomation\SampleSwitch\CC26xx\SmartRF06\Obj\switch.o]
这个API在哪里定义的,怎么引用到工程里?
Alvin Chen:
回复 zhu weihua:
你好,请调用Zstackapi_sysNwkInfoReadReq().
如果成功则会在 类似于Switch_processZstackMsgs 里面返回的包含:zstackmsg_CmdIDs_SYS_NWK_INFO_READ_REQ这个case分支里面包含了typedef struct _zstackmsg_sysnwkinforeadreq_t
{/** message header<br>* event field must be set to @ref zstack_CmdIDs*/zstackmsg_HDR_t hdr;
/* Message command fields – no fields for this request */// zstack_sysNwkInfoReadReq_t *pReq;/** Response fields (immediate response) */zstack_sysNwkInfoReadRsp_t *pRsp;} zstackmsg_sysNwkInfoReadReq_t;
zstack_sysNwkInfoReadRsp_t *pRsp; 里面包含了网络信息:dev.ti.com/…/zstackapi_8c.html
dev.ti.com/…/struct__zstack__sysnwkinforeadrsp__t.html