微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > TI Zigbee设计交流 > 关于广播发送的请教

关于广播发送的请教

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

今天学习用协议栈中串口的基础实验,出现了一个小问题。

我给协调器发的数据是 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;            

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

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

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

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

用单播测试下。

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

网站地图

Top