微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > TI Zigbee设计交流 > 发送选项的问题.

发送选项的问题.

时间:10-02 整理:3721RD 点击:

协议栈版本: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发出来的吗?   我希望有一个可靠的 发送-回馈机制. 该怎么做呢?

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

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

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

case AF_DATA_CONFIRM_CMD:

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

VV你好,

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

VV你好

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

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top