路由地址管理器AddrMgr中index=0的短地址为什么=0xFFFE?
AddrMgrEntry_t addrEntry;
uint16 NodeCnt=0;
for(int j=0; j<NWK_MAX_DEVICES; j++)
{
addrEntry.index = j;
if (AddrMgrEntryGet( &addrEntry ))
{
NodeCnt++;
HalLcdWriteStringValue("NodeCnt:", NodeCnt, 10, 2);
UARTWriteStringValue( 0, "index:", addrEntry.index , 10, 1);
UARTWriteStringValue( 0, "nwkAddr:", addrEntry.nwkAddr , 16, 1);
HalUARTWrite(0, "\r\n" ,2);
}
}
以下是: 1 个coor, 2个router 入网得出的现象
a, 当router1连接到coor的时候,router1的地址管理器中index=0的短地址一直为:0xFFFE;
b, router2连接到router1的时候,地址管理器中index=0处却没有地址;
c, 将router2直接连接到coor时,router2的地址管理器中index=0的短地址一直为:0xFFFE;
d, 将router1连接到router2的时候,地址管理器中index=0处却没有地址;
想问一下为什么router直接连接到coor的时候其地址管理器中index=0的地址会一直是:0xFFFE ?
你可以看下addrEntry.user是什么
// user IDs - use with <AddrMgrEntry_t>
#define ADDRMGR_USER_DEFAULT 0x00
#define ADDRMGR_USER_ASSOC 0x01
#define ADDRMGR_USER_SECURITY 0x02
#define ADDRMGR_USER_BINDING 0x04
#define ADDRMGR_USER_PRIVATE1 0x08
VV大神,请问在那个文档有说明?【流泪】,我把mesh配的文档都搜索了一遍,就是没搜到ADDRMGR_USER_DEFAULT [汗]
应该是在AddrMgr.h里
// user IDs - use with <AddrMgrEntry_t>
#define ADDRMGR_USER_DEFAULT 0x00
#define ADDRMGR_USER_ASSOC 0x01
#define ADDRMGR_USER_SECURITY 0x02
#define ADDRMGR_USER_BINDING 0x04
#define ADDRMGR_USER_PRIVATE1 0x08
只有定义,没有说明
