建立基于BasicRF的程序框架案例73课件讲解.pptxVIP

建立基于BasicRF的程序框架案例73课件讲解.pptx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

建立基于BasicRF的程序框架案例

BasicRF软件包提供的示例适用于TI公司官方的开发板,因此,在进行基于BasicRF的应用开发时,应学会如何建立自己的程序框架建立基于BasicRF的程序框架案例

任务描述与要求1网络中的两个节点之间通过BasicRF无线通信技术进行连接;用户提出需求,需要设计一套智能家居控制系统。本任务需要为智能家居控制系统建立点对点的通信网络,为后续实现相关功能提供支撑。2节点1每隔2秒向节点2发送信息“hello”;3节点2收到信息并判断无误后翻转其上的LED灯作为指示。任务描述

工程文件夹结构图建立task1_basicrf-network文件夹文件夹层级结构应与原工程完全相同1.建立基于BasicRF的程序框架1建立工程存放文件夹

为工程添加源代码文件“smart_home”文件夹中建立两个源代码文件“node1.c”和“node2.c”,将其加入工程中。复制“light_switch.ewd”、“light_switch.ewp”和“light_switch.eww”三个文件至我们创建的“project”文件夹中。进入原始BasicRF软件包的“source/components”路径,复制“basicrf”等五个文件夹至之前创建的“components”文件夹中。1.建立基于BasicRF的程序框架2复制必要的源代码3建立应用层源代码文件

2.建立节点的编译配置项2新建编译配置项本任务涉及两个节点,它们的应用层程序逻辑与节点地址不同,但是他们都调用了basicRF软件包的HAL层和basicRF层的程序,即两个节点大多数的程序是共用的。由于工程中只能有一个main()函数参与工程的编译,为了实现两个节点的应用层程序在一个工程中共存,在编译其中一个节点的代码时,需要将另一个节点的代码排除编译的范围。要实现前述效果,可为每个节点建立起专用的编译配置项,具体操作如下。

新建编译配置项2.建立节点的编译配置项1新建编译配置项

2.建立节点的编译配置项2配置参与编译的源代码文件建立各节点的编译配置项后,需要配置参与编译的源代码文件。一个工程只有一个main()函数参与编译,因此对于节点1的工程来说,note2.c文件不能参与编译,需要通过配置将其排除。

配置头文件路径2.建立节点的编译配置项3配置头文件路径在IAREmbeddedWorkbenchIDE中,“头文件路径”一般采用头文件与“工程文件夹”的相对位置来表示,“工程文件夹”用通配符“$PROJ_DIR”来表示,“上一级目录”使用“../”符号来表示。在建立的程序框架中,“工程文件夹”与“头文件路径”的相对位置与basicRF的例程不同,因此需要对“头文件路径”进行配置。

修改工程源代码路径修改链接配置文件2.建立节点的编译配置项4修改工程源代码路径5修改配置文件

编写代码节点1代码node1.c节点2代码node2.c3.在工程中编写代码

目的地址:destAddr数据载荷:*pPayload数据长度:length功能:比较两个字符串是否相等;参数1:*str1,要比较的字符串1;参数2:*str2,要比较的字符串2;返回值:根据ASCII值比较结果

若str1str2,返回值大于0;

若str1str2,返回值小于0;

若str1=str2,返回值等于0。如何实现无线发送数据数据发送API函数为basicRfSendPacket(uint16destAddr,uint8*pPayload,uint8length)。使用范例如何判断收到数据的内容C语言标准库中,提供了字符串处理相关的函数——intstrcmp(char*str1,char*str2)

如何翻转板载LED灯BasicRF软件包的HAL层提供了可实现LED翻转的宏,其位于“hal_board.h”文件中:控制板载LED1翻转使用范例

编译下载节点1、2程序4.编译下载程序1编译下载节点1程序2编译下载节点2程序确保选择“node1”编译配置项点击“make”编译程序“DownloadandDebug”下载程序重启ZIGBEE模块

5.结果验证如果程序编写无误,当程序被编译并下载入ZIGBEE模块后,我们将看到节点2上的LED1每隔2秒翻转一次,说明节点1往节点2发送的“hello”信息已经被准确无误地接收到了。

本任务结束谢谢大家!

无线传感器网络的基本概念计算机技术传感器技术通信技术微型传感器实时监测、感知和采集自组多跳的网络方式用户终端

无线传感器网络的基本概念定义与核心目标无线传感器网络定义由大量微型传感器节点组成,通过无线通信协作感知环境数据,无需人工干预即可自动组网。传感器节点具有

文档评论(0)

***** + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档