
zigbee note
HeroKern
欢迎关注嵌入式开发公众号,定期更新技术文章。
-
原创 zigbee学习之定时器
以下是我自己的总结,我不会分析代码,代码简单讲起来没有好大意思,主要是抓住核心知识框架。脉冲:32MHZ就是一秒钟32000000个脉冲时钟周期:1/f=1/32us指令周期等于时钟周期(在51中是机械周期=12*时钟周期)内部是16MHZ,定时器内部一个脉冲,定时器计数就加一定时器 1(查询法)T1CTL寄存器 定时器1控制和状态:T1CTL (Bit 3:22015-09-29 21:31:595122
0
-
原创 zigbee学习总结
我们修改代码主要是在SampleApp.c这个文件夹下面,SampleApp_ProcessEvent() 用户应用任务的事件处理函数 下面有两个系统消息消息一SYS_EVENT_MSG 普通的事件if ( events & SYS_EVENT_MSG ) //接收系统消息再进行判断//接收属于本应用任务 SampleApp的消息,以 SampleApp_TaskID标记2015-10-22 21:41:5116757
0
-
原创 zigbee学习之OLED
#include #include "LCD.h"void main(){ unsigned char i=0; LCD_Init(); //oled 初始化 LCD_Fill(0xFF); //屏全亮 while(1)2015-10-07 14:37:464355
0
-
转载 IAR中的Zstack工程产生的.hex通过SmartRF Flash Programmer烧录到CC2530
第一步:怎么产生.hex文件1).hex的文件是不包含调试信息,由IAR产生。打开IAR的工程选项,选中左边栏的Linker,如图所示。勾中【Output file】下的选项,并将输出文件名的后缀改成hex;【Format】选项框里选中other,output后选择【intel-extened】,其它的值保持默认即可。但这样有个问题:产生的.hex 不带调试信息,不方便,我想产生两2015-10-07 16:48:095626
0
-
原创 zigbee协议栈学习(一)
学习协议栈之前我们先讲解一些基本的概念。分为三块:协调器 路由器 终端设备 1. ZigBee 协议栈简介 什么是 ZigBee 协议栈呢?它和 ZigBee 协议有什么关系呢?协议是一系列的通信标准,通信双方需要共同按照这一标准进行正常的数据发射和接收。协议栈是协议的具体实现形式,通俗点来理解就是协议栈是协议和用户之间的一个接口,开发人员通过使用协议栈来使用这个2015-10-07 16:39:434756
0
-
原创 zigbee学习之DHT11
DHT11模块代码如下#include typedef unsigned char uchar;typedef unsigned int uint;#define DATA_PIN P0_7//温湿度定义uchar ucharFLAG,uchartemp;uchar shidu_shi,shidu_ge,wendu_shi,wendu_ge2015-10-07 14:41:344628
1
-
原创 zigbee协议栈学习(三)
这几章我们主要讲下思路和基本概念,在下一章中将具体分析代码。下面的代码是一个设备怎样加入到一个 ID为1 的组当中:aps_Group_t group; // Assign yourself to group 1 group.ID = 0x0001; group.name[0] = 0; // This could be a human readable string2015-10-20 21:26:3020361
0
-
原创 zigbee协议栈学习(五)
下篇文张讲解一个无线控制LED案列,这章了解系统运行的结构。第一Z-Stack 软件架构 Z-Stack 由 main()函数开始执行,main()函数共做了 2 件事:一是系统初始化,另外一件是开始执行轮转查询式操作系统, FS_Zstack\ZMain.c ZSEG int main( void ) { osal_int_disable( INTS_2015-10-20 22:10:4519411
0
-
原创 zigbee协议栈学习(二)
协议栈规范的 ID号可以通过查询设备发送的 beacon 帧获得。在设备加入网络之前,首先需要确认协议栈规范的 ID。“特定网络”规范 ID号为0; ZigBee协议栈规范的 ID号为1; ZigBeeRO 协议栈规范的 ID 号为 2。协议栈规范的 ID(STACK_PROFILE_ID)在 nwk_globals.h 中// Controls the operational2015-10-20 20:54:195487
0
-
原创 zigbee协议栈学习(四)
准备开始分析代码的,突然发现还有一个重要的知识点没有讲,没办法还是得补齐,呵呵消息提取函数uint8 *osal_msg_receive( uint8 task_id ) //这个函数返回一个指向所需提取信息的指针属性(at tribute) 设备之间通信的每一种数据像开关的状态或温度计值等皆可称为属性。每个属性可得到唯一的 ID,它们都用结构体来描述。 F2015-10-20 22:00:5117217
0
-
原创 zigbee协议学习(一)
函数总结如下:只需要修改SampleApp.c下面的文件,格式如下。NV 非易失性的串口是以ascal码进行传输的 ‘0’=0x30HAL_KEY_SW_1 对应第二个按键HAL_KEY_SW_6 对应第一个按键0x1000到0xFFFF这段flash是留给用户用的空间当进行SampleApp_ProcessEvent( uint8 task_id, uint2015-10-19 12:55:233741
1
-
原创 zigbee学习之ADC采集芯片内部的温度
这个章节没得什么讲得,用的时候记得调用模块,自己配置一些寄存器。ADC对自身芯片温度的采集:void InitClock(void)//还是原来的味道{ CLKCONCMD &= ~0x40; //设置系统时钟源为 32MHZ晶振 while(CLKCONSTA & 0x40); //等待晶振稳定 CLKC2015-09-30 20:49:156701
4
-
原创 zigbee学习之中断led
从今天开始我就得开始学习zigBee了,一直由于徐晓有两个创新项目需要我做,二是发现者现在无线传输还是比较有优势的,顺便学习一下,多掌握点技能毕竟不是坏处,学习zigbee的同时我也得继续研究学习Linux驱动,也会写一些相关的文章。下面是我自己的总结,不会给你一行一行的分析代码,我只是把我理解的东西写上来,也是一些重点,加上自己的总结。不喜欢的勿喷,请多多指教,第一天学习zigbee感觉上手还是2015-09-29 16:08:163999
0
-
原创 zigbee学习之睡眠定时器
睡眠定时器:void InitSleepTimer(void) { ST2 = 0x00; //设置时间 ST1 = 0x00; ST0 = 0x00; EA = 1; //开中断 STIE = 1; //睡眠定时器中断使能 0: 中断禁止 1: 中断使能 STIF = 0; //睡眠定时器2015-09-30 10:19:134147
0
-
原创 zigbee学习之串口通信
纠错:U0DBUF发送缓冲区,但是我在中文手册手册上没有找的到这个寄存器,手册上只有U0BUF,U0BUF编译会出错,我去查了下英文手册,才发现原来是翻译人员翻译错误了,只有U0DBUF,建议看英文手册。串口通信:P_2 接收端 P_3发送端(单片机和电脑的电频不同,通过PL2303转换,这是针对zigbee模块的,想51单片机可以通过232,485来转换)。TTL 输2015-09-30 13:44:347053
0
-
原创 zigbee学习之看门狗定时器
看门狗的理解:用的是独立的时钟源。void Init_Watchdog(void) //初始化看门狗{WDCTL = 0x00; //打开IDLE==0置看门狗WDCTL |= 0x08; //看起看门狗模式WDCTL &= ~0x03; //1s没有喂狗就发生复位}void FeetDog(void) //喂狗{2015-09-29 22:04:324594
0
-
原创 zigbee项目之上位机app远程控制终端
这是我最后一次接触zigbee了,学习zigbee一周,我把自己做的项目传上上来,希望给大家带来帮助。上面的终端需要安装一个空间,然后直接运行,代码我都写好了的,自己只需要修改自己网络地址。代码有点大就上传在资源里面的,都是不需要积分的,我够好了吧,呵呵。空间和代码下载地址:http://download.csdn.net/detail/qq_21792162015-10-22 21:49:5621657
6