基于TI CC2530的 zigbee 开发(二)简单的无线传输组网例程
ZStack版本:ZStack-CC2530-2.5.1a
下载和调试器:SmartRF04EB
IDE开发软件:IAR Embedded Workbench IDE - 8051 10.20.1
本例程的基本功能是实现两个zigbee节点的点对点通信功能。其中节点1作为协调器建立zigbee网络,节点2作为终端设备,加入网络,然后节点2发送“test”四个字符,如果节点1收到数据后,确认是“test”数据,则点亮开发板上的LED灯。
一、打开工程
进入ZStack-CC2530-2.5.1a\Projects\zstack\Samples\GenericApp\CC2530DB目录,双击GenericApp.eww,即可打开工程。
打开工程后,出现如下界面:
这是因为该工程是基于ZStack-CC2530-2.5.1a版本的,相较于IDE工具IAR来说版本太老,需要进行版本转换,我们只需选择"yes",IAR会自动帮我们进行转换。转换完成后,右击左上角的
选项,选择"Rebuild All” 进行编译,会发现有好多错误。
首先,我们仍然右击左上角的那个工程选项,选择“options”,出现如下界面,
将界面中圈出的数字“16”,更改成8。然后,下载新版的Z-Stack,我下载的是Z-Stack 3.0.2,将Z-Stack 3.0.2\Projects\zstack\ZMain\TI2530DB文件夹下的chipcon_cstartup.s51代替ZStack-CC2530-2.5.1a\Projects\zstack\ZMain\TI2530DB下的相同文件,重新编译,发现没有任何错误。
二、节点1协调器代码的开发
在左侧的项目导航栏选择APP下的GenericApp.c文件,右击,选择"Remove"。
如下图所示:
新建一个文件,保存为Coordinator.c,选择App行,右击选择Add,Add“Coordinator.c”,即可将该文件添加到App下。同理,新建Endevice.c文件,添加到App下。
选中新添加的Endevice.c文件,右击,选中“Options”,出现如下界面:
点击上图红色圈中的框,出现对勾后,然后点击下方"ok"按钮,则Endevice.c文件变成灰色。因为这个文件是终端设备的文件,而现在我们要编译的是协调器的程序,所以将该文件排除编译。
Coordinator.c的代码如下:
#include "OSAL.h"
#include "AF.h"
#include "ZDApp.h"
#include "ZDObject.h"
#include "ZDProfile.h"
#include <string.h>
#include "DebugTrace.h"
#if !defined( WIN32 )
#include "OnBoard.h"
#endif
/* HAL */
#include "hal_lcd.h"
#include "hal_led.h"
#include "hal_key.h"
#include "hal_uart.h"
#include "OSAL_Nv.h"
#include "GenericApp.h"
/*********************************************************************