江湖救急!z-stack协议栈广播发送数据的周期为什么不能小于1s?
我用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);
}
BCAST_DELIVERY_TIME 发送广播数据的时间
MAX_BCAST广播数据包的最大数目
减小 BCAST_DELIVERY_TIME,加大MAX_BCAST,我试过80mS一次。
您好,我想问下这两个参数是在哪个文件里?我只找到MAX-BCAST在f8wConfig.cfg这个我文件中,那个BCAST_DELIVERY_TIME我找不到,希望你能帮我回答下?谢谢你哦
您好,我想问下这两个参数是在哪个文件里?我只找到MAX-BCAST在f8wConfig.cfg这个我文件中,那个BCAST_DELIVERY_TIME我找不到,希望你能帮我回答下?谢谢你哦
ZGlobals.h这个文件里面
vv 你好
请问 BCAST_DELIVERY_TIME 的时间单位是什么 ms还是s
参考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 :
那个单位是不是应该是100ms?