zigbee设备在Zstack中的体现

zigbee网络提供3种网络设备类型,分别是协调器、路由器和终端节点。
协调器是一个全功能设备,在整个网络中的权限最高功能最强大。它是一个网络的建立者,维护整个zigbee网络。在协议栈中,每个源文件都可以定义多个功能设备的实现函数。它们都通过编译来实现各个设备的需要。

在这里插入图片描述顺便说下,左边的那个EditConfigurations 可以增加或删除下图中Workspace下面下拉菜单里的内容

在这里插入图片描述
通过选择这个下拉菜单里的Router , EndDevice ,Coordinator,程序时怎样识别它们的?

首先说明不是在:Options C/C++ Compile Preprocessor里面区别的。

当选择 Coordinator,Router , EndDevice时,在Options-> C/C++ Compile-> Extra Options这个选项里面包含的文件不一样:
Coordinator:

在这里插入图片描述
Router:

在这里插入图片描述
EndDevice:
在这里插入图片描述Coordinator包含f8wCoord,cfgRouter 包含f8wRouter.cfg,EndDevice包含f8wEndev.cfg,这几个文件在协议栈Tools文件夹里看到:

在这里插入图片描述
在这里插入图片描述在这里插入图片描述

f8wCoord.cfg

在这里插入图片描述

f8wRouter.cfg

在这里插入图片描述
DZDO_COORDINATOR表示定义ZDO_COORDINATOR,-D表示在程序里定义后面的标识符(我的理解)

然后打开协议栈NWK文件下的ZGlobals.h 里面就是关于协调器路由器终端设备的宏定义

在这里插入图片描述

千里之行,始于足下!
原文地址:https://www.cnblogs.com/MINAIot/p/13040982.html