如题:
1.协调器挂多个或少个设备无关,也会出现此情况
2.串口打印数据发送接收均正常
3.设备返回的状态可以发送至上位机
配置协调器:
NV_INIT
NV_RESTORE
xHOLD_AUTO_START
ZTOOL_P1
MT_TASK
MT_APP_FUNC
MT_SYS_FUNC
MT_ZDO_FUNC
xLCD_SUPPORTED=DEBUG
MULTICAST_ENABLED=FALSE
ZCL_READ
ZCL_WRITE
ZCL_REPORT
xZCL_EZMODE
ZCL_BASIC
ZCL_IDENTIFY
ZCL_ON_OFF
ZCL_SCENES
ZCL_GROUPS
ZCL_WINDOWCOVERING
ZCL_DOORLOCK
ZCL_LEVEL_CTRL
ZCL_DIAGNOSTIC
FEATURE_SYSTEM_STATS
ZIGBEEPRO
WDT_IN_PM1
HAL_UART=TRUE
路由和协调器参考配置
AN123 – Breaking the 400-Node ZigBee® Network Barrier
With TI’s ZigBee SoC and Z-Stack™ Software
问题:
1.协调器能接收无法发送
2.抓包发现原来配置的15s一次的link status都没有发出来
协调器无法发出信息.zip
YiKai Chen:
能具體解釋一下协调器能无法发送、你是怎樣发送、還有你用的Z-Stack 版本和例程是?
Alvin Chen:
e2echina.ti.com/…/155357
Sleeping Forest:
回复 YiKai Chen:
1.协调器接收上位机命令,串口收发正常,但是无法发送出来抓包抓不到这条数据
2.版本是home 1.2.2a路由switch(开关设备)
YiKai Chen:
回复 Sleeping Forest:
能具體解釋一下协调器能是怎樣发送数据?
Alvin Chen:
回复 Sleeping Forest:
抓不到说明没发送成功,发送函数是什么?
Sleeping Forest:
回复 Alvin Chen:
其他设备发送也无法发生发送,linkstatus都没有发出来
Sleeping Forest:
回复 YiKai Chen:
串口透传,AF_datarequest发送,发送地址通过发送下来的长地址获取短地址后发送IEEEadrss_dest[0] = RfTx.IEEEAddr[0];IEEEadrss_dest[1] = RfTx.IEEEAddr[1];IEEEadrss_dest[2] = RfTx.IEEEAddr[2];IEEEadrss_dest[3] = RfTx.IEEEAddr[3];IEEEadrss_dest[4] = RfTx.IEEEAddr[4];IEEEadrss_dest[5] = RfTx.IEEEAddr[5];IEEEadrss_dest[6] = RfTx.IEEEAddr[6];IEEEadrss_dest[7] = RfTx.IEEEAddr[7];AddrMgrNwkAddrLookup( IEEEadrss_dest, (uint16*)ShortSaddr);//ShortSaddr = BUILD_UINT16(RfTx.shortadr[1], RfTx.shortadr[0]);SendDatasing(RfTx.SynHead,ShortSaddr,Uartrevlen);
Sleeping Forest:
回复 YiKai Chen:
uint8 SendDatasing(uint8 *buf, UINT16 addr, uint8 Leng)
{if(Leng>65)Leng=65;if(addr==0)return 0;afAddrType_t SendDataAddr; SendDataAddr.endPoint = SAMPLELIGHT_ENDPOINT;SendDataAddr.addr.shortAddr = addr;if(addr==0xffff){SendDataAddr.addrMode = (afAddrMode_t)AddrBroadcast;AF_DataRequest( &SendDataAddr, &sampleLight_TestEp,SAMPLEAPP_PERIODIC_CLUSTERID,Leng,buf,&SampleApp_TransID,AF_DISCV_ROUTE,AF_DEFAULT_RADIUS );}else{SendDataAddr.addrMode = (afAddrMode_t)Addr16Bit;AF_DataRequest( &SendDataAddr, &sampleLight_TestEp,//广播命令不需要重复发送。SAMPLEAPP_PERIODIC_CLUSTERID,Leng,buf,&SampleApp_TransID,//AF_SKIP_ROUTING,// 第一次发送跳过路由,如果失败再增加路由发送。提升客户体验。AF_DISCV_ROUTE,// AF_ACK_REQUEST,//AF_DEFAULT_RADIUS );memcpy(bufs,buf,Leng);addrs=addr; Lengs= Leng ;countt=0;// osal_start_timerEx( zclSampleLight_TaskID,SAMPLEAPP_SEND_WRITEDATA_EVT,500 );//上位机发给开关信息,开关没有应答会连发3次。}return 0;
}
YiKai Chen:
回复 Sleeping Forest:
先設個斷點調試看看AddrMgrNwkAddrLookup拿到的ShortSaddr對不對吧
Sleeping Forest:
回复 YiKai Chen:
这个问题并不是百分比复现只是偶尔有这样的情况,只能加打印下一次出现才能确定。短地址试过是可以的。