Zigbee学习(三)之Zstack协议栈应用实践

之前Zstack协议栈的工作原理已经讲过了,这次来一发应用举例的帮助大家理解,实验内容很简单,就是按键控制LED小灯闪烁,用的是CC2530的电路板,如果是裸机控制,过程相当简单,只要查询是否有按键按下,然后执行小灯闪烁的操作就可以了,或者用中断也可以。但是如果放到了协议栈当中,过程会复杂些,也就是之前所说的工作原理。

在添加自己的函数或者命令行之前,我们要做的最最重要的事情就是宏定义,比如按键的端口,小灯的端口,用的板子的型号等等。诸如此类的宏定义在嵌入式开发中是家常便饭思密达,因为本人使用的板子是宅基地购买的,所以宏定义大多都是HoneyGeek_V2之类的。在修改代码之前,先要有个大概的思路,那些文件里的代码是要做修改的,比如这次是用到按键和小灯,那么hal_key.c和hal_key.h,hal_board_cfg.h等一些和按键、小灯有关的.c和.h文件都要看一下。我们先看hal_board_cfg.h文件,在LED Configuration下面看到#define HAL_NUM_LEDS这句定义,很明显要改,我用的HoneyGeek_V2的板子只有一个LED所以在后面添加|| defined (HoneyGeek_V2)。

#if defined (FS2530)|| defined (HAL_BOARD_CC2530EB_REV17) && !defined (HAL_PA_LNA) && !defined (HAL_PA_LNA_CC2590)
  #define HAL_NUM_LEDS            3
#elif defined (HAL_BOARD_CC2530EB_REV13) || defined (HAL_PA_LNA) || defined (HAL_PA_LNA_CC2590)|| defined (HoneyGeek_V2)
  #define HAL_NUM_LEDS            1
#else
  #error Unknown Board Indentifier
#endif

再往下看,看到对LED1的定义,也就是LED1的PIN和PORT的一些设置,我们可以这样改:

#ifdef HoneyGeek_V2
/* 1 - Green */
  #define LED1_BV           BV

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
目录 第1章 ZigBee技术概述 1.1 ZigBee技术的演变与进展1 1.1.1 ZigBee技术的由来2 1.1.2 ZigBee技术的发展历程2 1.2 ZigBee技术特点5 1.3 ZigBee2007/PRO特性6 1.3.1 ZigBeeZigBee PRO比较6 1.3.2 不同ZigBee版本的兼容分析8 1.4 ZigBee无线网络使用频谱和ISM开放频带16 1.5 ZigBee技术的广阔应用前景17 第2章 低功耗微控制器MSP430与ZigBee芯片CC2520 2.1 低功耗微控制器MSP43022 2.1.1 关键特性22 2.1.2 MSP430模块化架构23 2.1.3 16位RISC先进CPU24 2.1.4 超低功耗性能25 2.1.5 灵活的时钟系统26 2.1.6 智能外设27 2.1.7 MSP430应用29 2.2 MSP430F2618简介29 2.2.1 MSP430F2xxx介绍30 2.2.2 MSP430F2618特性30 2.3 ZigBee芯片CC252031 2.3.1 CC2520的特性32 2.3.2 CC2520引脚描述34 2.3.3 CC2520与CC2420的区别35 2.3.4 CC2520典型设计36 第3章 ZigBee无线网络多功能开发系统 3.1 无线网络ZigBee开发系统平台选择39 3.1.1 如何选择嵌入式无线开发工具和平台40 3.1.2 需要的设备和必要条件42 总结43 3.2 多功能可视化ZigBee无线网络开发系统C51RF3PK44 3.2.1 C51RF3PK仿真器44 3.2.2 网络液晶扩展板45 3.2.3 C51RF3PK电池板51 3.2.4 ZigBee模块53 3.3 图形化ZigBee2007开发系统56 3.3.1 ZigBee模块CC252057 3.3.2 网络液晶扩展板58 3.4 ZigBee软件集成开发平台63 3.4.1 IAR集成开发环境的安装65 3.4.2 添加文件或新建程序文件72 3.4.3 设置工程选项参数74 3.4.4 编译、链接、下载78 3.4.5 仿真调试79 第4章 ZigBee开发入门 4.1 认识ZigBee协议88 4.2 ZigBee网络数据传输90 4.2.1 实验目的90 4.2.2 ZigBee数据传输原理解析90 4.2.3 实验设备准备110 4.3 ZigBee协议编译/下载111 4.3.1 设备选择及设置111 4.3.2 编译/下载程序112 4.4 ZigBee源代码剖析113 4.4.1 发送一个信息包113 4.4.2 收发数据过程113 4.4.3 接收一个信息包116 4.5 实验流程117 4.5.1 流程图117 4.5.2 路由器代码118 4.5.3 协调器代码120 4.6 ZigBee分析仪分析ZigBee数据包121 4.6.1 协议分析仪121 4.6.2 ZigBee数据格式122 4.6.3 加入网络数据分析125 4.6.4 收发数据分析126 4.7 实验效果128 第5章 ZigBee无线网络开发进阶 5.1 ZigBee协议结构129 5.2 ZigBee协议实时操作系统132 5.2.1 OS术语介绍132 5.2.2 OSAL API介绍133 5.2.3 OSAL任务142 5.3 ZigBee2006应用接口144 5.3.1 实验目的144 5.3.2 原理介绍144 5.3.3 软件准备SAPI介绍145 5.4 网络形成145 5.4.1 协调器格式化网络146 5.4.2 路由器和终端设备加入网络146 5.4.3 ZDO_StartDevice147 5.5 绑定148 5.5.1 绑定表格149 5.5.2 绑定建立151 5.5.3 绑定解除156 5.6 命令156 5.6.1 命令定义及使用156 5.6.2 串159 5.6.3 ZCL介绍159 5.6.4 Profile介绍160 5.7 灯光控制实验165 5.7.1 APP函数分析165 5.7.2 灯光控制实验过程176 5.7.3 实验总结178 5.8 无线温度传感器实验179 5.8.1 设备179 5.8.2 命令180 5.8.3 发现和绑定180 5.8.4 数据包发送和接收181 第6章 ZigBee2007/PRO入门 6.1 ZigBee2007/PRO入门实验185 6.2 实验设备185 6.2.1 硬件介绍185 6.2.2 硬件组成186 6.3 实验基础知识186 6.3.1 ZigBee2007简介186 6.3.2 ZigBee2007/PRO协议简介187 6.3.3 ZigBee设备在Zstack中的体现189 6.4 实验内容191 6.4.1 建立任务192   6.4.2 按键处理函数197   6.4.3 发送函数198   6.4.4 接收处理函数200  6.5 实验步骤和结果200   6.5.1 建立网络200   6.5.2 路由设备加入网络202   6.5.3 发送数据203   6.5.4 退出小组203   6.5.5 加入小组203  6.6 实验拓展204   6.6.1 项目分析204   6.6.2 协调器函数的设计204   6.6.3 路由器设备函数设计205  6.7 实验总结206 第7章 ZigBee2007/PRO进阶  7.1 实验目的207  7.2 实验设备207   7.2.1 硬件介绍207   7.2.2 硬件组成208   7.2.3 ZigBee2007协议208  7.3 实验基础知识209   7.3.1 ZigBee PRO简介209   7.3.2 ZigBee PRO中的路由210   7.3.3 ZigBee PRO新功能211   7.3.4 信息包格式211  7.4 实验内容212   7.4.1 初始化任务213   7.4.2 任务处理215   7.4.3 UART_RX_CB_EVT事件219   7.4.4 串口发送函数222   7.4.5 串口接收中断函数223   7.4.6 串口读取函数224   7.4.7 ZigBee发送函数225   7.4.8 ZigBee接收处理函数226  7.5 实验步骤和现象228   7.5.1 建立网络228   7.5.2 路由设备加入网络229   7.5.3 查看网络中节点230   7.5.4 配置地址231   7.5.5 收发数据231  7.6 实验总结233 第8章 ZigBee2007/PRO高级应用——家庭自动化  8.1 家庭自动化概念234  8.2 ZigBee2007/PRO的家庭自动化236  8.3 家庭自动化实验目的236  8.4 家庭自动化体系236  8.5 实验设备237  8.6 家庭自动化实验工程238  8.7 家庭自动化工程剖析239   8.7.1 实验操作流程图240   8.7.2 灯和控制器主函数程序流程图240   8.7.3 其他初始化关键函数242   8.7.4 网络状态变化函数243   8.7.5 绑定相关函数246  8.8 操作系统250   8.8.1 操作系统关键参数251   8.8.2 操作系统关键函数252  8.9 灯设备关键任务256  8.10 控制器关键任务260  8.11 实验操作步骤265  8.12 家庭自动化例程总结268 第9章 ZigBee2007无线传感器网络  9.1 无线传感器网络概述269   9.1.1 什么是无线传感器网络269   9.1.2 无线传感器网络现状270   9.1.3 ZigBee在无线传感器网络上的应用272   9.1.4 ZigBee无线传感器网络系统特点272  9.2 ZigBee2007无线传感器网络实验概述273  9.3 ZigBee2007无线传感器网络硬件设计274   9.3.1 网关底板设计275   9.3.2 传感器底板设计276  9.4 网关与PC机的数据连接281  9.5 ZigBee2007无线传感器网络建立与网络管理287   9.5.1 网络通信过程介绍287   9.5.2 网关网络节点的地址管理288  9.6 网关与节点间的无线采集过程293  9.7 程序编译、下载303  9.8 实验效果304 附录A 网络层所定义的特性常量311 附录B 网络层信息库属性312 参考文献315

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值