欢迎来到天天文库
浏览记录
ID:38251398
大小:1.05 MB
页数:16页
时间:2019-06-06
《基于某ZigBee地大数据采集与无线传输实验》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、实用标准文案2016-2017学年第二学期课程实验报告课程名称:无线传感网络实验名称:基于ZigBee的数据采集与无线传输实验姓名班级学号同组同学实验课表现出勤、表现得分25%25实验报告得分50%实验总分操作结果得分25%25实验目的了解ZigBee的工作原理和技术特点,利用CC2530芯片开发一个简单的ZigBee组网通信实验。实验内容以小组为单位,利用CC2530芯片部署无线传感网络实验,分别设计采集节点、汇聚节点的程序,采集节点采集温度信息,并通过无线信道传输给汇聚节点。汇聚节点再将温度数据通过串口传输给上位机(PC机)。要求自己设计通信协议,实现上位机对监控区域的定时和实时温度数
2、据采集。实验过程中遇到的问题以及如何解决的?(可以写多条,是否认真填写将影响实验成绩)在实验过程中我遇到了1、能接收后遇到很多的噪声干扰并且不能接收自己发送的信息2、接收到自己的信息后仍然有很多的噪声干扰出现了很多的乱码3、接收自己的信息也被转换成乱码4、遇到了选择性接收上的技术问题文档大全实用标准文案1、温度的acsii码转换错误通过.......的方式,我解决了这个问题。1、修改了接收代码并确认发送代码没毛病2、尝试修改信道3、检查到接收子程序有问题并修改了4、老师建议我们使用选择性接收5、通过组员合作研究讨论并上网查找解决没有问题的情况下,是否有创新思路(或多做哪些工作)。好像并没有
3、实验代码如下:发送代码:/文件名:main.c作者:Andy修订:2013-01-08版本:1.0描述:设置串口调试助手波特率:115200bps8N1串口调试助手给CC2530发字符串时,开发板会返回接收到的字符串/#include#include#include#include//#defineDISABLE_ALL_INTERRUPTS()(IEN0=IEN1=IEN2=0x00)//三个charrf_rx_buf[128];voidrf_send(charpbuf,intlen);voidrf_rec
4、eive_isr();typedefunsignedcharuchar;typedefunsignedintuint;#defineUART0_RX1#defineUART0_TX2#defineSIZE51charRxBuf;charUartState;ucharcount;charRxData[SIZE];//存储发送字符串voidInitClock(void){CLKCONCMD&=~0x40;//设置系统时钟源为32MHZ晶振文档大全实用标准文案while(CLKCONSTA&0x40);//等待晶振稳定CLKCONCMD&=~0x47;//设置系统主时钟频率为32MHZ}/名称:
5、InitSensor()功能:温度传感器初始化函数入口参数:无出口参数:无/voidInitSensor(void){//DISABLE_ALL_INTERRUPTS();//关闭所有中断InitClock();//设置系统主时钟为32MTR0=0x01;//设置为1来连接温度传感器到SOC_ADCATEST=0x01;//使能温度传感}/名称:GetTemperature()功能:获取温度传感器AD值入口参数:无出口参数:通过计算返回实际的温度值/floatGetTemperature(void){uintvalue;ADCCON3=(0x3E);//选择1.25V为参考电压;14位分辨
6、率;对片内温度传感器采样ADCCON1=0x30;//选择ADC的启动模式为手动ADCCON1=0x40;//启动AD转化while(!(ADCCON1&0x80));//等待AD转换完成value=ADCL>>4;//ADCL寄存器低2位无效value=(((uint)ADCH)<<4);return(value-1367.5)/4.5-5;//根据AD值,计算出实际的温度,芯片手册有错,温度系数应该是4.5/℃//进行温度校正,这里减去5℃(不同芯片根据具体情况校正)}/名称:DelayMS()功能:以毫秒为单位延时入口参数:msec延时参数,值越大,延时越久出口参数:无文档大全实用标
7、准文案/voidDelayMS(uintmsec){uinti,j;for(i=0;i
此文档下载收益归作者所有