微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > 射频无线通信设计 > 求大神指导!终端请求和协调器绑定后,协调器能用0xFFFE作为目的地址发数据给终端吗?

求大神指导!终端请求和协调器绑定后,协调器能用0xFFFE作为目的地址发数据给终端吗?

时间:10-02 整理:3721RD 点击:
我想把TI给的传感器实验和灯控制实验结合在一起,终端上有温度传感器和小灯,协调器上有按键作为开关,终端请求绑定成功后,周期性给协调器发送温度数据再通过串口显示在串口助手上,现在我想通过串口助手发个命令给协调器,协调器再发命令给终端实现小灯控制,但是终端始终收不到协调器发的数据,协调器发数据的时候目的地址我设的也是0xFFFE,现在确定协调器收到串口的数据了,然后调用zb_SendDataRequest( 0xFFFE, LIGHT_CONTROL_CMD_ID, len, str, 0, AF_MSG_ACK_REQUEST, 0 );
void zb_SendDataRequest ( uint16 destination, uint16 commandId, uint8 len,
uint8 *pData, uint8 handle, uint8 txOptions, uint8 radius )
{
afStatus_t status;
afAddrType_t dstAddr;
txOptions |= AF_DISCV_ROUTE;
// Set the destination address
if (destination == ZB_BINDING_ADDR)
{
// Binding
dstAddr.addrMode = afAddrNotPresent;
}
else
{
// Use short address
dstAddr.addr.shortAddr = destination;
dstAddr.addrMode = afAddr16Bit;
if ( ADDR_NOT_BCAST != NLME_IsAddressBroadcast( destination ) )
{
txOptions &= AF_ACK_REQUEST;
}
}
dstAddr.panId = 0; // Not an inter-pan message.
dstAddr.endPoint = sapi_epDesc.simpleDesc->EndPoint; // Set the endpoint.
// Send the message
status = AF_DataRequest(&dstAddr, &sapi_epDesc, commandId, len,
pData, &handle, txOptions, radius);
if (status != afStatus_SUCCESS)
{
SAPI_SendCback( SAPICB_DATA_CNF, status, handle );
}
}
但是终端始终收不到数据是怎么回事?求大神指导,纠结几天了

绑定之后,终端可以使用0xFFFE做为目标地址,协调器也能用吗?

你这个不行,那个工程仅仅就是单项的绑定,想相互绑定,你需要修改成双向的绑定

你是说终端和协调器双向绑定吗? 有这个功能吗?

可以的

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

网站地图

Top