我能够从 RF_Flash 编程器读取 ExtAddr、但当我使用 byte* addr = NLME_GetExtAddr ()或 osal_memcpy (addr、&aExtendedAddress、Z_EXTADDR_LEN)时、它返回0、即所有值为零。
什么地方出错了?
我有 NV_RESTORE = false
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.
我能够从 RF_Flash 编程器读取 ExtAddr、但当我使用 byte* addr = NLME_GetExtAddr ()或 osal_memcpy (addr、&aExtendedAddress、Z_EXTADDR_LEN)时、它返回0、即所有值为零。
什么地方出错了?
我有 NV_RESTORE = false
路由器固件中
案例 ZDO_State_change:
if (RFID_Router_NWKState =DEV_router)
{
uint8 *a= NLME_GetExtAddr();
sprintf (buff、"DB.inf.txt=\"OK RTR 0x%X 0x%X%X%X%X%X%X%X%X%X%X\""、NLME_GetShortAddr ()、A[7]、A[6]、A[5]、A[4]、A[3]、A[2]、A[1]、A[0])注意到这两个设备的地址都是 IEEE /00000000
HMI_DISPLAY_Write (buff、strlen (buff));
ZDP_IEEEAddrReq (0x0000、ZDP_ADDR_REQTYPE_SINGLE、0、0);
NLME_RouteDiscoveryRequest (0x0000、0x00、0);
}
在协调器固件中:
静态空 RFID_Coordinator_MessageMSGCB (afIncomingMSGPacket_t *pktt)
{
char sData[70];
交换机(pkt->clusterid)
{
案例 RFID_clusterid:
sprintf (sData、">%s;%d、(char*) pkt->cmd.Data、pkt->srcAddr.addr.shortAddr);
HMI_UART_Write (USB_UART、sData、strlen (sData));
//sprintf (sData、"DB.info.txt=\"%s\"",(char*)pkt->cmd.Data);
//RFID_DISPLAY_Write (sData、strlen (sData));
中断;
}
}
我注意到的另一件事是、两个器件都将0x00000000打印为其 IEEE 地址