连续调用AF_DataRequest发送函数,并没有按照规定的次数发送,这是什么原因?
尊敬的TI工程师以及在这方面有过研究的好朋友们:
你们好,我现在需要连续50次发送一个数组uint8 Text[2] = {1,2},在协调器端用串口接收到发现只有6次,有时候也出现5次,每次调用的时候加了延时,效果还
是一样,单步调试,变量也再按部就班地改变,没有发现问题,可是在协调器那段只能接收到5-6次,没有开启低功耗。请您帮我分析下什么原因?下面是我的程序代
码。
if ( events & GENERICAPP_SEND_VIB_EVT )
{ uint8 Text[2]={1,2};
for(uint8 m=0;m<50;m++)
{
AF_DataRequest( &GenericApp_DstAddr, &GenericApp_epDesc,
GENERICAPP_SEND_VIB,
sizeof(Text),
(byte *)Text,
&GenericApp_TransID,
AF_DISCV_ROUTE, AF_DEFAULT_RADIUS );
Delay(100);
}
return (events ^ GENERICAPP_SEND_VIB_EVT);
}
协调器接收数据的代码如下:
static void GenericApp_MessageMSGCB( afIncomingMSGPacket_t *pkt )
{
switch ( pkt->clusterId )
{
case GENERICAPP_SEND_VIB:
HalUARTWrite(0, pkt->cmd.Data, pkt->cmd.DataLength); //将振动发送函数发送的数据写到串口上
break;
}
}
请您帮我看看,哪里出现了问题?谢谢您
求回复啊,我被困绕了2个星期了
两个数据发送之间加个延迟
加了还是一样,VV,您能帮我调试一下吗?连续调用发送函数,在协调器那边接收到的包数,发现只能接收到6次。