(一)Zigbee简介和开发环境快速建立(IAR)

1.我不是很清楚控制链条,对于Zigbee不是太清楚

答案:CC2530 芯片上集成了 8051 内核(增强型)

2.性能特点:低速率远距离,这造就了 Zigbee 低功耗信息传输的优势,网上经常谈到两节普通

的 5 号干电池可以使用6 个月到 2 年的时间,免去充电和更换电池的麻烦。

3. 节点所属类别:

①:协调器(Coodinator)②:路由器(Router)③:终端(End Device)

同一网络中至少需要一个协调器,也只能有 1 个协调器,负责
各个节点 16 位地址分配(自动分配)。理论上可以连上 65536 个节点

4.开发环境:IAR

还有个TI协议栈,(ZStack-CC2530-2.5.1a)后面再说什么用

5.仿真器:SRF04EB(驱动自动识别)

6.串口驱动

7.IAR工程文件的快速建立

(二)基础实验(CC2530)

1.基本端口设置

P1SEL (0:普通 IO 口 1:第二功能)
P1DIR (0:输入 1:输出 )
P1INP (0:上拉/下拉 1:三态 )

按照表格寄存器内容,我们对 LED1,也就是 P1_0 口进行配置,当 P1_0 输
出低电平时 LED1 被点亮。所以配置如下:
P1SEL &=~0x01; //作为普通 IO 口
P1DIR |= 0x01; //P1_0 定义为输出
P1INP &=~0X01; //打开上拉

由于 CC2530 寄存器初始化时默认是:
P1SEL =0x00;
P1DIR =0x00;
P1INP =0X00;

2.外部中断

3.

定时器T1(查询方式)

定时器T3(中断方式)

4.串口通信

UART0 对应的外部设备 IO 引脚关系为:

P0_2------RX
P0_3------TX
UART1 对应的外部设备 IO 引脚关系为:

P0_5------RX
P0_4------TX

5.AD控制

6.睡眠唤醒

7.看门狗

8.LCD12864液晶显示

(三)组网演练(zigbee)

什么是 ZigBee协议栈呢?它和 ZigBee 协议有什么关系呢?

通俗点来理解就是协议栈是协议和用户之间的一个接口,开发人员通过使用协议栈来使用这个协议的,进而实现无

线数据收发。

ZigBee无线网络协议层的架构图:

ZigBee的协议分为两部分
IEEE 802.15.4 定义了PHY(物理层)和 MAC(介质访问层)技术规范;

ZigBee联盟定义了 NWK(网络层)、APS(应用程序支持子层)、APL(应用层)技术规范。

ZigBee 协议栈就是将各个层定义的协议都集合在一起,以函数的形式实现,并
给用户提供 API(应用层),用户可以直接调用。

来个小总结:ZigBee 协议栈已经实现了 ZigBee 协议,用户可以使用协议
栈提供的 API 进行应用程序的开发,在开发过程中完全不必关心 ZigBee 协议的
具体实现细节,要关心的问题是:应用层的数据是使用哪些函数通过什么方式把
数据发送出去或者把数据接收过来的。所以最重要的是我们要学会使用 ZigBee
协议栈。

1、组网:调用协议栈的组网函数、加入网络函数,实现网络的建立与节点
的加入。
2、发送:发送节点调用协议栈的无线数据发送函数,实现无线数据发送。
3、接收:接收节点调用协议栈的无线数据接收函数,实现无线数据接收。

大家可以了解一下下面的关键字:
CCM - Counter with CBC-MAC (mode of operation)
HAL - Hardware Abstraction Layer (硬件抽象层)
PAN - Personal Area Network (个人局域网)
RF - Radio Frequency (射频)
RSSI - Received Signal Strength Indicator (接收信号强度指示)

.

.

.

(四)协议栈工作原理介绍

简图:

Zigbee学习的更多相关文章

  1. zigbee学习:示例程序SampleApp中按键工作流程

    zigbee学习:示例程序SampleApp中按键工作流程 本文博客链接:http://blog.csdn.net/jdh99,作者:jdh,转载请注明. 环境: 主机:WIN7 开发环境:IAR8. ...

  2. zigbee学习:示例程序SampleApp中通讯流程

    zigbee学习:示例程序SampleApp中通讯流程 本文博客链接:http://blog.csdn.net/jdh99,作者:jdh,转载请注明. 参考链接: http://wjf88223.bl ...

  3. ZigBee学习五 无线温度检测

    ZigBee学习五 无线温度检测 1)修改公用头文件GenericApp.h typedef union h{ uint8 TEMP[4]; struct RFRXBUF { unsigned cha ...

  4. ZigBee学习四 无线+UART通信

    ZigBee学习四 无线+UART通信 1) 协调器编程 修改coordinator.c文件 byte GenericApp_TransID; // This is the unique messag ...

  5. ZigBee学习三 UART通信

    ZigBee学习三 UART通信 在使用串口时,只需掌握ZigBee协议栈提供的串口操作相关的三个函数即可. uint8 HalUARTOpen(uint8 port,halUARTCfg_t *co ...

  6. ZigBee学习二 LED点对点通信

    ZigBee学习二 LED点对点通信 终端上电后,自动连接协调器进行组网,成功后,开始发送LED字符数据.当协调器接收到数据后,终端和协调器的LED1都开始闪烁. 工程搭建和文件添加 步骤这里就省了. ...

  7. ZigBee学习一 任务处理函数_ProcessEvent

    ZigBee学习一 任务处理函数_ProcessEvent //任务处理函数UINT16 GenericApp_ProcessEvent( byte task_id, UINT16 events ){ ...

  8. zigbee学习之路(十五):基于协议栈的按键实验

    一.前言 经过上次的学习,相信大家已经初步学会使用zigbee协议进行发送和接受数据了.今天,我们要进行的实验是按键的实验,学会如何在协议栈里实现按键中断. 二.实验功能 在协议栈上实现按键中断,BU ...

  9. zigbee学习之路(十三):基于协议栈的Usart 实验

    一.前言 这次实验我们来学习基于zigbee的串口通信实验,揭开zigbee神秘的面纱,让大家可以用zigbee协议编制属于自己的程序,这次实验只是串口发送数据,并没有进行无线的数据传输,为的是使大家 ...

  10. zigbee学习之路(十二):zigbee协议原理介绍

    一.前言 从今天开始,我们要正式开始进行zigbee相关的通信实验了,我所使用的协议栈是ZStack 是TI ZStack-CC2530-2.3.0-1.4.0版本,大家也可以从TI的官网上直接下载T ...

随机推荐

  1. spring boot继承web和mybatis时,调用接口删除记录出现的空指针以及解决办法

    前两天在学spring boot的时候,出现了一个很奇怪的错误,因为是第一次使用spring boot,所以没想到会遇到这种莫名其妙的bug,即调用接口删除数据库中一条记录的时候,数据库中记录事实上以 ...

  2. LoadRunner-创建场景

    录制完脚本,并调试运行正常后,想要模拟并发进行压力测试,需要创建场景. 1.点击Tools->Create Controller Scenario... 2.选择手工场景,并设置并发用户数.点击 ...

  3. Python3学习之路~2.4 字典操作

    字典一种key - value 的数据类型,使用就像我们上学用的字典,通过笔划.字母来查对应页的详细内容. 定义字典(dictionary) info = { 'stu1101': "Amy ...

  4. type Props={};

    Components Learn how to type React class components and stateless functional components with Flow Se ...

  5. 第一篇 Python图片处理模块PIL(pillow)

    本篇包含:一.Image类的属性:1.Format   2.Mode   3.Size    4.Palette    5.Info                   二.类的函数:1.New   ...

  6. SV中的Interface和Program

    Interface:SV中新定义的接口方式,用来简化接口连接,使用时注意在module或program之外定义interface,然后通过'include来添加进工程. interface  arb_ ...

  7. EditPlus 中文版停止更新

    经过一段时间的考虑,我决定了终止 EditPlus 的中文版翻译工作. 感谢各位网友在这么长时间内对本汉化项目的关注.

  8. python getatime() 查看文件的访问时间

    import time,os def main(): file_name=r'C:\Temp\Req.xml' file_times_access=time.localtime(os.path.get ...

  9. Python 基本数据类型(2)

    知识内容: 1.python对象模型 2.数字与bool 3.字符串 4.列表与元组 5.字典与集合 一.python对象模型 1.python对象模型 对象是python语言中最基本的概念,在pyt ...

  10. linux常用命令:ip 命令

    ip命令是Linux下较新的功能强大的网络配置工具. 1.命令格式: ip  [OPTIONS]  OBJECT  [COMMAND [ARGUMENTS]] 2.命令功能: ip命令用来显示或操纵L ...