1、协议栈
协议是通信标准;协议栈是协议的具体表现形式,可理解为可为开发者操作的一列函数。
Zigbee 协议分为两个部分:IEEE802.15.4 定义了PHY物理层、MAC介质访问层 技术规范;Zigbee 联盟定义了NWK网络层、APS应用程序支持子层、APL应用层 技术规范。
将各层的协议集合在一起,就形成了Zigbee 协议。
所以,所谓的Zigbee 协议栈就是将各层定义的协议以函数形式表示,并提供给用户。
举例:
用户想实现一个简单的无线数据通信时,需要:
(1)组网:调用协议栈组网函数、加入网络函数,实现网络的建立和节点的加入;
(2)发送:调用无线数据发送函数;
(3)接受:调用无线数据接受函数。
2、细节
从专业角度讲,涉及的所有工程和文件都应已英文命名,目录中应全部是英文文件名,否则可能出错。
3、解析main 函数
main 函数先执行初始化工作(包括硬件初始化、网络层初始化、任务初始化等),然后执行 osal_start_system(); 操作系统。
(1)osal_init_system() 系统初始化函数
它有6个初始化函数,关键是osalInitTasks(); 任务初始化函数
(2)osal_start_system() 运行操作系统
(3)SampleApp_Init() 用户应用任务初始化函数
(4)SampleApp_ProcessEvent() 用户应用任务的事件处理函数
(5)SampleApp_MessageMSGCB() 分析接受数据函数
(6)SampleApp_SendPeriodicMessage() 分析发送周期信息函数
(7)AF_DataRequest() 发送函数