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

关于广播发送的请教

今天学习用协议栈中串口的基础实验,出现了一个小问题。
我给协调器发的数据是 0-9,给终端 发的是 00000000。, 现在只接了协调器的一个串口线
 效果是这样的。
但是如果只是接终端的串口线,就是对的,只是00000000。

if ( AF_DataRequest( &SampleApp_Periodic_DstAddr, &SampleApp_epDesc,
SAMPLEAPP_PERIODIC_CLUSTERID,
10,
"000000000",
&SampleApp_TransID,
AF_DISCV_ROUTE,
AF_DEFAULT_RADIUS ) == afStatus_SUCCESS )            这是给终端的发送函数。方式是广播。

uint8 data[11]="0123456789";

if ( AF_DataRequest( &SampleApp_P2P_DstAddr, &SampleApp_epDesc,
SAMPLEAPP_P2P_CLUSTERID, //注意 接收的时候是这个簇
10,
data,
&SampleApp_TransID,
AF_DISCV_ROUTE,
AF_DEFAULT_RADIUS ) == afStatus_SUCCESS );            这是给协调器发的。

case SAMPLEAPP_P2P_CLUSTERID: HalUARTWrite(0, "Rx:", 3); //提示接收到数据
HalUARTWrite(0, pkt->cmd.Data, pkt->cmd.DataLength); //串口输出接收到的数据
HalUARTWrite(0, "\n", 1); // 回车换行
break;                             

case SAMPLEAPP_PERIODIC_CLUSTERID: HalUARTWrite(0, "Rx:", 3); //提示信息
HalUARTWrite(0, pkt->cmd.Data, pkt->cmd.DataLength); //输出接收到的数据
HalUARTWrite(0, "\n", 1); break;            

以上是接收事件函数中的给串口的部分。

有没有可能是广播的时候,自己给自己发啊?

可能问题有点弱,刚开始学,还请各位大神给出指教。 

VV:

你设备注册了几个endpoint? 目的endpoint写的是0xFF吗?

用单播测试下。

赞(0)
未经允许不得转载:TI中文支持网 » 关于广播发送的请教
分享到: 更多 (0)