ImageVerifierCode 换一换
格式:DOCX , 页数:48 ,大小:4.12MB ,
资源ID:3387638      下载积分:12 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/3387638.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(物联网实验报告资料.docx)为本站会员(b****4)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

物联网实验报告资料.docx

1、物联网实验报告资料中南林业科技大学课程设计实验报告专业班级:2013级计算机科学与技术2班授课教师:*学生姓名:*学生学号: *实验一继电器闪烁一实验目的:学会使用修改程序,使得继电器按要求闪烁。二内容:修改以下程序,使得继电器的绿灯闪一下,红灯闪五下#include typedef unsigned int uint ;typedef unsigned char uchar;/定义控制灯的端口#define RLED P1_0 /定义LED1为P10口控制#define YLED P1_1 /定义LED2为P11口控制/函数声明void Delay(uint); /延时函数void Init

2、ial(void); /初始化P0口/*/延时*/void Delay(uint n) uchar i; while(n-) for(i=200;i0;i-); /* 初始化程序*/void Initial(void) P1DIR |= 0x03; /P10、P11定义为输出 RLED = 1; YLED = 1; /LED灭/*/主函数*/void main(void) Initial(); /调用初始化函数 RLED = 0; /LED1 YLED = 0; /LED2 while(1) RLED = 0; YLED = 1; Delay(1000); RLED = 1; YLED = 0

3、; Delay(1000); 三实验记录:修改好的程序如下: #include typedef unsigned int uint ;typedef unsigned char uchar;/定义控制灯的端口#define RLED P1_0 /定义LED1为P10口控制#define YLED P1_1 /定义LED2为P11口控制/函数声明void Delay(uint); /延时函数void Initial(void); /初始化P0口/*/延时*/void Delay(uint n) uchar i; while(n-) for(i=200;i0;i-); /* 初始化程序*/void

4、 Initial(void) P1DIR |= 0x03; /P10、P11定义为输出 RLED = 1; YLED = 1; /LED灭/*/主函数*/void main(void) uint i; Initial(); /调用初始化函数 RLED = 0; /LED1 YLED = 0; /LED2 while(1) RLED = 0; YLED = 1; Delay(1000); for(i=0;ihdr.event ) case AF_INCOMING_MSG_CMD: GenericApp_MessageMSGCB( MSGpkt ); break; default: break;

5、osal_msg_deallocate( (uint8 *)MSGpkt ); MSGpkt = (afIncomingMSGPacket_t *)osal_msg_receive( GenericApp_TaskID ); return (events SYS_EVENT_MSG); return 0;static void GenericApp_MessageMSGCB( afIncomingMSGPacket_t *pkt ) unsigned char buf10; switch ( pkt-clusterId ) case GENERICAPP_CLUSTERID: osal_mem

6、cpy(buf,pkt-cmd.Data,10); if( (buf10=C)|(buf1=h)|(buf5=S)|(buf9=i) HalLedBlink(HAL_LED_1,2,40,700); break; default: break; 上述代码实现的基本功能如下:第79行,将收到的数据拷贝到缓冲区buf中。第80行,判断接收到的数据是不是“ChinaSofti”,这里是选择性判断了4个字符。如果是则执行第82行,使LED红灯闪烁2次。注意:上述代码使用到了ZigBee协议栈提供的函数HalLedBlink(功能:使某个LED闪烁),直接使用即可。这里需要提醒读者,使用协议栈进行应用程

7、序开发时,如果协议栈已经提供了相应的函数,则只需要尽快掌握该函数的功能及使用方法即可,不需要另外实现该函数。由于我们的开发板硬件和TI的原厂开发板硬件有所不同,所以这里需要对相关的LED硬件初始化做一些调整。具体可分为以下两步:1.打开ZMain文件夹下的ZMain.c文件,找到整个协议栈的主函数main()函数,在85行(通过Tools-Options选项的Editor栏中设置show line numbers即可显示行号):HAL_BOARD_INIT();鼠标双击这个函数选定然后右击,选择跳转到函数定义处,具体如图4.7所示:2.还是在hal_board_cfg.h这个文件中,我们将11

8、6行和123行的ACTIVE_HIGH改为ACTIVE_LOW,这是因为我们的LED灯是IO口低电平触发亮。通过以上两步,相关的LED函数就可以正常使用了。到此为止,协调器的编程已经基本结束,下面回忆一下上述代码所做的基本工作。(1)删除了协议栈中的GenericApp.c文件,然后添加了两个文件: Coordinator.c和Enddevice.c。(2)给出了Coordinator.c的代码,并给出了部分注释,其中 Coordinator.c文件中很多代码格式是固定的,读者只需要熟悉这些代码格式即可。在Workspace下面的下拉列表框中选择CoordinatorEB,然后右键单击Endd

9、evice.c,在弹出的下拉菜单中选择Options,如图4.8所示。图4.8 Options选项设置在弹出的对话框中,选择Exclude from build,如图4.9所示。图4.9 Exclude from build此时,Enddevice.c文件会呈灰白显示状态。同时可以打开Tools文件夹可以看到f8wEndevcfg和f8wRouter.cfg文件也是呈灰白显示状态,文件呈灰白显示状态说明该文件不参与编译,ZigBee协议栈正是使用这种方式实现对源文件编译的控制。f8w2530.xcl,f8wConfig.cfg,f8wCoord.cfg三个文件包含了节点的配置信息,具体功能如下

10、:(1)f8w2530.xcl-包含了CC2530单片机的链接控制指令(如定义堆栈大小、内存分配等),一般不需要改动。(2)f8wConfig.cfg-包含了信道选择,网络号等有关的链接命令。例如:下列代码定义了建立网络的信道默认为11,即从11信道上建立ZigBee无线网络,第59行定义了ZigBee无线网络的网络号。因此如果想从其他信道上建立zigbee网络和修改网络号,就可以在此修改。(3)f8wCoord.cfg-定义了设备类型前文讲到zigbee无线网络中的设备类型有协调器,路由器和终端节点。下述代码就定义了该设备具有协调器和路由器的功能。 下面讲解一下zigbee协议栈的编译以及下

11、载。点击工具栏上的Make按钮或者点击Project下的Make,即可实现zigbee协议栈的编译。编译完成后,在窗口下方会自动弹出Message窗口,显示编译过程中的警告和出错信息。Message窗口如图4.10所示。图4.10 Message窗口最后,用CC2530仿真器将开发板和电脑连接起来,复位一下仿真器,然后选择工具栏上的Debug按钮或者点击Project下的Download and Debug,即可实现程序的下载。(2) 终端节点程序下面介绍一下终端节点的程序设计步骤。首先,在Workspace下面的下拉列表框中选择EndDeviceEB,然后右键单击Coordinator.c文

12、件,在弹出的下拉菜单中选择Options,在弹出的对话框中,选择Exclude from build,此时,Coordinator.c文件会呈灰白显示状态。在Enddevice.c文件中输入以下代码: #include OSAL.h#include AF.h#include ZDApp.h#include ZDObject.h#include ZDProfile.h#include GenericApp.h#include DebugTrace.h#if !defined( WIN32 ) #include OnBoard.h#endif#include hal_led.h#include h

13、al_key.h#include hal_uart.hconst cId_t GenericApp_ClusterListGENERICAPP_MAX_CLUSTERS = GENERICAPP_CLUSTERID;const SimpleDescriptionFormat_t GenericApp_SimpleDesc = GENERICAPP_ENDPOINT, / int Endpoint; GENERICAPP_PROFID, / uint16 AppProfId2; GENERICAPP_DEVICEID, / uint16 AppDeviceId2; GENERICAPP_DEVI

14、CE_VERSION, / int AppDevVer:4; GENERICAPP_FLAGS, / int AppFlags:4; GENERICAPP_MAX_CLUSTERS, / byte AppNumInClusters; (cId_t *)GenericApp_ClusterList, / byte *pAppInClusterList; GENERICAPP_MAX_CLUSTERS, / byte AppNumInClusters; (cId_t *)GenericApp_ClusterList / byte *pAppInClusterList;endPointDesc_t GenericApp_epDesc;byte GenericApp_TaskID; devStates_t GenericApp_NwkState;byte GenericA

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1