TI中文支持网
TI专业的中文技术问题搜集分享网站

发送选项的问题.

协议栈版本:2.3.0-1.4.0

协调器打开. 会收到数据.ack正常.

当协调器关闭的时候.

发送选项为

SampleApp_Periodic_DstAddr  = 0x0000;

AF_DataRequest( &SampleApp_Periodic_DstAddr, &SampleApp_epDesc,
SAMPLEAPP_COM_CLUSTERID,
len + 1,
tmp_data,
&SampleApp_TransID,
AF_DISCV_ROUTE | AF_ACK_REQUEST,//需要目的地恢复ACK
AF_DEFAULT_RADIUS ) == afStatus_SUCCESS )

同样会收到ACK.

case AF_DATA_CONFIRM_CMD:
SampleAppAckFailCnt = 0;
if((g_device_info.type == MODEM) || (g_device_info.type == TEST))//只有2种设备
{
HalUARTWrite(0, "Trans", 5);//换行 }
break;

求问这个ACK不是应该由目的地址的 APS发出来的吗?   我希望有一个可靠的 发送-回馈机制. 该怎么做呢?

VV:

你的做法是对的,你可以看下收到的Confirm里面的trans ID,跟发送的是否一致

yuejie zhu:

回复 VV:

多谢VV神的回答, 我知道为什么了。

需要判断消息包里的状态值. 我之前没有判断.所以有问题了.

case AF_DATA_CONFIRM_CMD: if(MSGpkt->hdr.status == SUCCESS) { SampleAppAckFailCnt = 0;

Stockton Zhang:

回复 VV:

VV你好,

关于这个发送—响应的问题,如果设备A发送数据包到一个end device B,但是这个B的睡眠时间比较长,5s才poll一下他的父设备接受消息,那么,A能否收到AF_DATA_CONFIRM_CMD呢?

Stockton Zhang:

回复 VV:

VV你好

能不能帮忙解答一下上面的问题呢?

赞(0)
未经允许不得转载:TI中文支持网 » 发送选项的问题.
分享到: 更多 (0)