我用z-stack协议栈里面的GenericApp,构建了一个网络。其中包括一个路由和一个协调器,路由器采用广播的方式周期性的发送数据给协调器,协调器将接收到的数据通过串口传到pc上。现在问题是,如果路由器发送数据的周期小于1s,协调器那边接收到的数据就会断断续续的。如果等于或大于1s,协调器收到的数据就正常。如果我发送的时候采用单播的方式,数据就正常,为什么采用广播的时候就出现问题了呢?急求大侠帮助!谢谢!
osal_start_timerEx(GenericApp_TaskID,SEND_DATA_EVENT,100); //此处发送周期为0.1s,等下协调器就不能正常接收数据了
void GenericApp_SendTheMessage( void )
{
unsigned char theMessageData[10] = "EndDevice";
afAddrType_t my_DstAddr;
my_DstAddr.addrMode = (afAddrMode_t)AddrBroadcast;
my_DstAddr.endPoint = GENERICAPP_ENDPOINT;
my_DstAddr.addr.shortAddr = 0xFFFF;
AF_DataRequest( &my_DstAddr, &GenericApp_epDesc,GENERICAPP_CLUSTERID,osal_strlen("EndDevice")+1,theMessageData,&GenericApp_TransID,AF_DISCV_ROUTE,AF_DEFAULT_RADIUS);
/// HalLedBlink(HAL_LED_2,0,50,500);
}
gancheng:
回复 VV:
减小 BCAST_DELIVERY_TIME,加大MAX_BCAST,我试过80mS一次。
tim chen:
回复 VV:
您好,我想问下这两个参数是在哪个文件里?我只找到MAX-BCAST在f8wConfig.cfg这个我文件中,那个BCAST_DELIVERY_TIME我找不到,希望你能帮我回答下?谢谢你哦
tim chen:
回复 gancheng:
您好,我想问下这两个参数是在哪个文件里?我只找到MAX-BCAST在f8wConfig.cfg这个我文件中,那个BCAST_DELIVERY_TIME我找不到,希望你能帮我回答下?谢谢你哦
wei zheng2:
回复 tim chen:
ZGlobals.h这个文件里面
kobe bryant3:
回复 VV:
vv 你好
请问 BCAST_DELIVERY_TIME 的时间单位是什么 ms还是s
Susan Yang:
回复 kobe bryant3:
参考C:\Texas Instruments\ZStack-CC2530-2.5.1a\Documents内的Z-Stack Simple API可知
Default value: BCAST_DELIVERY_TIME in ZGlobals.h file.
The amount of time ( in units of 100ms ) that it takes fora broadcast packet to propagate through the entire network.
Viki Shi:
回复 kobe bryant3:
单位是秒
chaos wang:
回复 Viki Shi:
回复 Viki Shi :
那个单位是不是应该是100ms?
TI中文支持网