Z_stack的数据请求的问题
时间:12-22
整理:3721RD
点击:
发送数据请求req,然后收到CONFIRM,我将CONFIRM的状态STA打印出来
比如数据请求函数为Z_DATA_REQ(APSDE_DATA_req,APSDE_DATA_con);
执行上述函数之后就会得到APSDE_DATA_con,
以下是定义的数据CONFIRM结构体
typedef struct
{
UINT8 DstMode;
APS_AD DstAdd_U;
UINT8 DstEP;
UINT8 SrcEP;
UINT8 Sta;
UINT16 TxTime; // Z2007
} APSDE_DATA_con;
然后我用串口打印函数zPrintf(1, " =>STA=%02x",(short)APSDE_DATA_con.Sta);////将Sta以%02x的格式打印出来
打印出来的值,我调试的时候出现两种,一种是STA=00,一种是STA=fd,都是十六进制的,也就是0x00和0xfd;
通过观察,串口状态,发现当等于0x00时,接收方几乎在发送方发出请求的同事同步接收到了数据;
而当STA=0xfd的时候,接收方比发送方发出数据的时间延时了近2秒之后才接收到数据;
是不是程序被挂起了呢?如果是,那什么情况下会挂起呢,怎么才能解决这个问题?求高手帮忙看看
#define AF_DATA_CONFIRM_CMD 0xFD // Data confirmation
0xFD应该是收到confirm的情况,第一个0x00应该是没有收到confirm。
0x00没收到confirm的话那数据还能发送成功么?你仔细看看看我介绍的现象