文档详情

基于ZiBee的数据采集与无线传输实验.doc

发布:2018-12-31约1.7万字共16页下载文档
文本预览下载声明
第 PAGE \* MERGEFORMAT 15页 / 共 NUMPAGES \* MERGEFORMAT 15页 2016-2017学年第二学期 课程实验报告 课程名称:无线传感网络 实验名称: 基于ZigBee的数据采集与无线传输实验 姓名 班级 学号 同组同学 实验课表现 出勤、表现得分25% 25 实验报告 得分50% 实验总分 操作结果得分25% 25 实验目的 了解ZigBee的工作原理和技术特点,利用CC2530芯片开发一个简单的ZigBee组网通信实验。 实验内容 以小组为单位,利用CC2530芯片部署无线传感网络实验,分别设计采集节点、汇聚节点的程序,采集节点采集温度信息,并通过无线信道传输给汇聚节点。汇聚节点再将温度数据通过串口传输给上位机(PC机)。要求自己设计通信协议,实现上位机对监控区域的定时和实时温度数据采集。 实验过程中遇到的问题以及如何解决的?(可以写多条,是否认真填写将影响实验成绩) 在实验过程中我遇到了 能接收后遇到很多的噪声干扰并且不能接收自己发送的信息 接收到自己的信息后仍然有很多的噪声干扰出现了很多的乱码 接收自己的信息也被转换成乱码 遇到了选择性接收上的技术问题 温度的acsii码转换错误 通过的方式,我解决了这个问题。 修改了接收代码并确认发送代码没毛病 尝试修改信道 检查到接收子程序有问题并修改了 老师建议我们使用选择性接收 通过组员合作研究讨论并上网查找解决 没有问题的情况下,是否有创新思路(或多做哪些工作)。 好像并没有 实验代码如下: 发送代码: /**************************************************************************** * 文 件 名: main.c * 作 者: Andy * 修 订: 2013-01-08 * 版 本: 1.0 * 描 述: 设置串口调试助手波特率:115200bps 8N1 * 串口调试助手给CC2530发字符串时,开发板会返回接收到的字符串 ****************************************************************************/ #include ioCC2530.h #include string.h #include stdio.h #include stdlib.h //#define DISABLE_ALL_INTERRUPTS() (IEN0 = IEN1 = IEN2 = 0x00)//三个 char rf_rx_buf[128]; void rf_send( char *pbuf , int len); void rf_receive_isr(); typedef unsigned char uchar; typedef unsigned int uint; #define UART0_RX 1 #define UART0_TX 2 #define SIZE 51 char RxBuf; char UartState; uchar count; char RxData[SIZE]; //存储发送字符串 void InitClock(void) { CLKCONCMD = ~0x40; //设置系统时钟源为 32MHZ晶振 while(CLKCONSTA 0x40); //等待晶振稳定 CLKCONCMD = ~0x47; //设置系统主时钟频率为 32MHZ } /**************************************************************************** * 名 称: InitSensor() * 功 能: 温度传感器初始化函数 * 入口参数: 无 * 出口参数: 无 ****************************************************************************/ void InitSensor(void) { //DISABLE_ALL_INTERRUPTS(); //关闭所有中断 InitClock(); //设置系统主时钟为 32M TR0=0x01; //设置为1来连接温度传感器到SOC_ADC ATEST=0x01;
显示全部
相似文档