This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

关于Z-Stack绑定的问题

Other Parts Discussed in Thread: CC2530

想用CC2530做一个星型网络结构。

协调器与所有的终端节点绑定。

看过相关文章说四种绑定方式。

求推荐绑定方式~

还有本来是希望使用Match方式的。

例程中

txAddr.addrMode = AddrBroadcast;
txAddr.addr.shortAddr = NWK_BROADCAST_SHORTADDR;
ZDP_MatchDescReq( &txAddr, NWK_BROADCAST_SHORTADDR,
SERIALAPP_PROFID,
SERIALAPP_MAX_CLUSTERS, (cId_t *)SerialApp_ClusterList,
SERIALAPP_MAX_CLUSTERS, (cId_t *)SerialApp_ClusterList,
FALSE );

如果是只绑定固定的协调器,那么地址是不是可以直接指定为0x0000

还有关于afSetMatch函数的使用,函数第一个参数的概念是什么?

ep - Application Endpoint to look for

如果我想将match关闭掉,如何设置第一个参数?

所懂不多,所以请把详细的设定流程告知,或者告知相关技术资料的位置。

十分感谢。。。

  • 首先需要清楚,绑定的目的是什么?

    绑定机制允许一个应用服务在不知道目标地址的情况下向对方(应用服务)发送数据包,发送时使用的目标地址将由应用支持子层从绑定表中自动获得,从而能是消息顺利被目标节点的一个或多个应用服务乃至分组接收。

    下面这个链接回答的比较详细了

    http://blog.csdn.net/tanqiuwei/article/details/7642766

  • 谢谢你的指导。

    我又看了看各种资料

    我想知道绑定后再如何发送无线信息呢?(在不知道目标地址的情况下)

    我看到了这么一段话

    绑定。数据包中的最终目的地址不识别的时候使用。该模式被AddrNotPresent设置,而且目的地址没有被指定。代替目的地址的是:一个存储在发送设备协议栈的绑定表格,该表格中有被绑定设备的地址。

    也就是说如果绑定了,使用AF_DataRequest函数时可以指定第一个参数的.addrMode = afAddrNotPresent

    那么如果是多重绑定的话,它如何判断的?

    例如一个结点与其他多个结点绑定,绑定的参数基本都一样,除了地址不一样。

    那么结点如何判断数据向那个结点发送?

    十分谢谢。

  • 绑定的信息是维护在绑定表里面的,就是一一对应的,但是这个绑定表是维护一个中间设备里面,所以从一个设备发数据到另外一个绑定设备的时候,是先把数据发送到一个中间设备,然后那个中间设备在绑定表里面,查找发送数据过来的节点,对应的绑定节点,然后再把数据转发出去。

  • 谢谢你的回答。

    我还是不胜其烦地再次询问。

    主要是多重绑定的问题。

    如果一个设备发送match请求,可以接受到多个设备的回应。

    那么发送一条不带地址的无线消息,是不是所有的节点都会接收到。

    那么我想对每个设备单独发消息是如何做呢?发送带地址的消息?

    还是说每个设备接收到信息做判断?

    理解不对的地方,请指正。

    再次劳烦。。谢谢。

  • 单纯从无线角度来说,只要发送端和接收端有同样的调制解调方式,不管发送端有没有标地址,接收端都可以进入RF中断接收数据,只是软件处理上同样地址把数据过滤掉而已。

  • 十分感谢你的回答。理解了很多。