|
问题一:ENDDEVICE 发送出去的数据包会带有自己的IEEE地址吗?
在从机端用以下2个函数可以得到逻辑地址和IEEE地址(IEEE地址和用编程器读出的一致)
j = NLME_GetShortAddr();
ptr = NLME_GetExtAddr();
在主机端
//rf消息处理
void SerialApp_ProcessMSGCmd( afIncomingMSGPacket_t *pkt )
buf[0] = pkt->srcAddr.addr.shortAddr/256;
buf[1] = pkt->srcAddr.addr.shortAddr%256;
buf[2] = pkt->srcAddr.addr.extAddr[0];
buf[3] = pkt->srcAddr.addr.extAddr[1];
buf[4] = pkt->srcAddr.addr.extAddr[2];
buf[5] = pkt->srcAddr.addr.extAddr[3];
buf[6] = pkt->srcAddr.addr.extAddr[4];
buf[7] = pkt->srcAddr.addr.extAddr[5];
buf[8] = pkt->srcAddr.addr.extAddr[6];
buf[9] = pkt->srcAddr.addr.extAddr[7];
HalUARTWrite(SERIAL_APP_PORT,buf,10);
short 地址和在本机获得的是一致的,扩展地址和在本地获得的不一样,请问有可能是什么原因?
问题二:short地址是如何分配的?
协调器和enddevice 重新上电后short地址有时会变,有时不会变,请问是按什么规则分配的 |
|