本帖最后由 伊海 于 2014-8-13 08:59 编辑
如何使用zigbee协议栈 既然zigbee协议栈已经实现了zigbee协议,那么用户就可以使用协议栈提供的API进行应用程序的开发,在开发过程中完全不必关心zigbee协议的具体实现细节,只需要关心一个核心的问题:应用程序数据从哪里来到哪里去。 举个例子,当用户应用程序需要进行数据通信时,需要按照如下的步骤实现: 1、 调用协议栈提供的组网函数、加入网络函数,实现网络的建立与节点的加入; 2、 发送设备调用协议栈提供的无线数据发送函数,实现数据的发送 3、 接收端调用协议栈提供的无线数据接收函数,实现数据的正确接收 因此,使用协议栈进行应用程序开发时,开发者不需要关心协议栈是具体怎么实现的(例如:每个函数是怎么实现的,每条函数代码是什么意思等),只需要知道协议栈提供的函数实现什么样的功能,会调用相应的函数来实现自己的应用需求即可。
技巧提示:在TI推出的zigbee 2007协议栈(又称作Z-Stack)中,提供的数据发送函数如下: afStatus_tAF_DataRequest(afAddrType_t *dstAddr, endPointDesc_t*srcEP, uint16 cID; uint16 len; uint8 *buf; uint8 *transID; uint8 options, uint8 radius) 用户调用该函数即可实现数据的无线发送,当然,此函数中有8个参数,用户需要将每个参数含义理解以后,才能熟练应用该函数进行无线数据通信的目的。 AF_DataRequest()函数中最核心的两个参数: uint16len ---发送数据的长度 uint8*buf---指向存放发送数据的缓冲区的指针 至于调用该函数后,如何初始化硬件进行数据发送等工作,用户不需要关心,zigbee协议栈已经将所需要的初始化工作初始化了,这就类似学习TCP/IP网络编程时,用户只需要调用相应的数据发送、接收函数即可,而不必关心具体的网卡驱动(如DM9000、CS8900网卡是如何接收数据的)的具体细节。
|