任务三 无线串口通信.

Slides:



Advertisements
Similar presentations
星云集团.
Advertisements

《电算化会计》形成性考核 简易操作流程.
黃金廊道農業新方案暨行動計畫 簡介.
插入超链接 高邮市第一实验小学 范太国 任务一:设置文本超链接 任务一:设置文字超链接 步骤:1、选定文字并右击,在快捷菜单 中选择“超链接”命令。 2、在弹出的对话框中选择左侧“链接到:”中的“本文档中的位置(A)”项,在“请选择文档中的位置(C):”中选择需要链接的幻灯片,单击“确定”按钮。
项目四 组建跨地区网络 授课教师:肖颖.
C++中的声音处理 在传统Turbo C环境中,如果想用C语言控制电脑发声,可以用Sound函数。在VC6.6环境中如果想控制电脑发声则采用Beep函数。原型为: Beep(频率,持续时间) , 单位毫秒 暂停程序执行使用Sleep函数 Sleep(持续时间), 单位毫秒 引用这两个函数时,必须包含头文件
在PHP和MYSQL中实现完美的中文显示
J2EE与中间件技术 ——Lab.
第二讲 搭建Java Web开发环境 主讲人:孙娜
任务八 温湿度传感器模块.
第八章 菜单设计 §8.1 Visual FoxPro 系统菜单 §8.2 为自己的程序添加菜单 §8.3 创建快捷菜单.
大学计算机基础 典型案例之一 构建FPT服务器.
SVN服务器的搭建(Windows) 柳峰
ARDUINO+BLUETOOTH Arduino实现蓝牙数据传输.
辅导课程六.
任务二 无线开关LED灯.
DM81X 视频采集处理 ——简单采集显示例程讲解 广州创龙电子科技有限公司
微机原理与接口技术 微机原理与接口技术 朱华贵 2015年11月20日.
SPI驱动 广州创龙电子科技有限公司 Guangzhou Tronlong Electronic Technology Co., Ltd.
Zhao4zhong1 (赵中) C语言指针与汇编语言地址.
Zhao4zhong1 (赵中) C语言指针与汇编语言地址.
第一单元 初识C程序与C程序开发平台搭建 ---观其大略
任务十 基于Z-Stack的点对点通信.
SDL2 配置 (Windows + Visual Studio)
AC500 调试总结 以太网通讯配置 lizhenfei.
第十章 IDL访问数据库 10.1 数据库与数据库访问 1、数据库 数据库中数据的组织由低到高分为四级:字段、记录、表、数据库四种。
如何下载英飞凌单片机相关资料? 中英文用户手册、数据手册、应用笔记等.
课程设计.
以ISI平台为例,为您演示一下如何在Endnote文献中查看该文献的References
2019/1/12 GDP设计协同 超级管理员操作手册 GDP项目组.
任务九 基于BasicRF的无线传感网络应用
利用Arduino制作定向装置 核科学与技术系 崔伟毅 梁嘉祺
《手把手教你学STM32》 主讲人 :正点原子团队 硬件平台:正点原子STM32开发板 版权所有:广州市星翼电子科技有限公司 淘宝店铺:
任务十三 基于Z-Stack的串口透传.
Windows 7 的系统设置.
YMSM D-PACK 安装手册 作成者:D-PACK维护组(YMSLx) 作成日:
产品防伪防窜管理系统 工具下载安装指引 信息管理部.
Gzip编译及调试 曹益华
三:基于Eclipse的集成开发环境搭建与使用
Visual Studio 2010简捷入门.
新PQDT论文全文库提交平台.
Web安全基础教程
如何查询论文的收录号?.
第1章 c++概述 1.1 C++语言的简史及特点 1.2 简单的C++程序 1.3 C++语言的基本组成
实验四、TinyOS执行机制实验 一、实验目的 1、了解tinyos执行机制,实现程序异步处理的方法。
Platform Builder使用介绍 WINCE系统应用开发流程说明 ACTION RDC 杨 涛 2005.Dec.3th
姚金宇 MIT SCHEME 使用说明 姚金宇
微机原理与接口技术 微机原理与接口技术 朱华贵 2015年11月13日.
实验七 安全FTP服务器实验 2019/4/28.
3Glasses SDK for Unreal Engine Plugin
FVX基础使用篇 法视特(上海)图像科技有限公司.
iSIGHT 基本培训 使用 Excel的栅栏问题
107學年度學生團體保險說明會 國泰人壽.
LOGIX500软件入门 西安华光信息技术有限公司 2008年7月11日.
Visual Basic程序设计 第13章 访问数据库
SCI收录号查询方法介绍 上海大学情报研究所
波形平均和叠加分析指南 上海骐驰仪器有限公司 Shanghai Qichi Instruments Co. Ltd.
Python 环境搭建 基于Anaconda和VSCode.
Polarization of electro- magnetic wave after reflection
阻塞式模型 本节内容 视频提供:昆山爱达人信息技术有限公司 视频录制:yang 官网地址:
YOUR SUBTITLE GOES HERE
3.8 局域网应用实例 某省劳动和社会保障网络中心组网实例 会议中心的无线组网实例.
幻灯片模板.
亚博科技 Arduino视频教程 第1讲 Hello World!
创建、启动和关闭Activity 本讲大纲: 1、创建Activity 2、配置Activity 3、启动和关闭Activity
使用Fragment 本讲大纲: 1、创建Fragment 2、在Activity中添加Fragment
第六讲 酒店客房管理系统(二) 教育部“十二五”职业教育国家规划教材
培训课件 AB 变频器的接线、操作及参数的备份 设备动力科.
K60入门课程 10 首都师范大学物理系 靳熙芃.
百万行、千万行数据查询教程 老黄牛.
Presentation transcript:

任务三 无线串口通信

目 录 一、实训目的 二、实训内容 三、实训原理 四、实训步骤

实训目的 通过本实训,使学生了解BasicRF Layer工作机制;熟练新建立BasicRF项目项工程;了解basicrf、board、common等驱动文件的作用;理解串口读写函数;理解发送地址和接收地址、PAN_ID、RF_CHANNEL等概念;学会使用CC2530建立无线串口通信方法。

目 录 一、实训目的 二、实训内容 三、实训原理 四、实训步骤

实训内容 以Basic RF无线点对点传输协议为基础,采用2个ZigBee模块(当做节点1和节点2),用一根串口线把节点1与PC机连接起来。再用一根串口线把节点2与PC机相连。打开节点1和节点2对应电脑上的的串口调试软件,设置波特率38400bps、数据位8等参数。在节点1的串口调试软件上输入“Hello!你叫什么名字?”,点击发送;则在节点2的串口调试软件上就显示“Hello! 你叫什么名字?”信息,同时要求在节点2上回复“Hello! 你叫张三”。回复的信息要求在节点1上能显示,如此像聊天软件一样进行信息的收和发,实现无线串口通信。

目 录 一、实训目的 二、实训内容 三、实训原理 四、实训步骤

实训原理 3.1 Basic RF无线发送与接收 详见实训2。 3.2 串口数据发送与接收 串口数据发送:通过创建一个buffer,把数据放入其中,然后再调用halUartWrite()函数发送数据。 串口数据接收:通过调用RecvUartDate()函数来接收数据,并以数据长度来判断是否有收到数据。

目 录 一、实训目的 二、实训内容 三、实训原理 四、实训步骤

第一步,新建工程和程序文件,添加头文件。 1.复制库文件。将CC2530_lib文件夹复制到该任务的工程文件夹内,即“D:\ZigBee\任务2.2 无线串口通信”内(可以放在其它盘内)。并在该工程文件夹内新建一个Project文件夹,用于存放工程文件。 2.新建工程。具体方法参照实训1。并在工程中新建App、basicrf、board、common、utils等5个组,把各文件夹中的“xx.c”文件添加到对应的文件夹中。

3. 新建程序文件。新源程序文件,将其命名为uartRF. c,保存在D:\ZigBee\任务2 3.新建程序文件。新源程序文件,将其命名为uartRF.c,保存在D:\ZigBee\任务2.2 无线串口通信\Project文件夹中。并将该文件添加到工程中的App文件夹中。 4.为工程添加头文件。点击IAR菜单中的【Project】->【Options…】,在弹出对话框中选择“C/C++ Compiler”,然后选择“Preproce”选项卡,并在“additional include directories:”中输入头文件的路径,如图3.1所示。然后点击【OK】。

图3.1 为工程添加头文件

注意: $PROJ_DIR$\ 即你当前工作的workspace的目录。..\表示对应目录的上一层。 例如:$TOOLKIT_DIR$\INC\ 和$TOOLKIT_DIR$\INC\CLIB\,都表示当前工作的workspace的目录。$PROJ_DIR$\ ..\inc 表示你的WORKSPACE目录上一层的INC目录。 第二步,配置工程。 点击IAR菜单中的【Project】->【Options…】,分别对General Options、Linker和Debugger三项进行配置。

图3.2 General Options配置

1. General Options配置。选中“Target”选项卡,在Device栏内选择“CC2530F256 1. General Options配置。选中“Target”选项卡,在Device栏内选择“CC2530F256.i51”(路径:C:\…\8051\config\devices\Texas Instruments)。其它设置如图3.2所示。 2. Linker配置。选中“Config”选项卡,勾选“Overide default”,并在该栏内选择“lnk51ew_CC2530F256_banked.xcl”配置文件,其路径:C:\…\8051\config\devices\Texas Instruments。

3.Debugger配置。选中“Step”选项卡,在“Driver”栏内选择“Texas Instruments”;在“Device Description file”栏内,勾选“Overide default”,并在该栏内选择“io8051.ddf”配置文件,其路径:C:\…\8051\config\devices\_generic。如图3.3所示。

图3.3 Debugger配置

第三步,编写程序。 由于程序很长,只能对关键部分的程序进行分析。详细见uartRF.c文件。 /********************点对点通讯地址设置**********************/ #define RF_CHANNEL 20 // 频道 11~26 #define PAN_ID 0x1379 //网络id //#define MY_ADDR 0x1234 //模块A的地址 //#define SEND_ADDR 0x5678 //模块A发送模块B的地址 #define MY_ADDR 0x5678 //模块B的地址 #define SEND_ADDR 0x1234 //模块B发送模块A的地址 /*********************************************************************/

void main(void) { uint16 len = 0; halBoardInit(); //模块相关资源的初始化 ConfigRf_Init(); //无线收发参数的配置初始化 while(1) { len = RecvUartData(); // 接收串口数据 if(len > 0) { halLedToggle(3); // LED灯取反,无线发送指示 basicRfSendPacket(SEND_ADDR, uRxData,len); //把串口收到的数据,通过ZigBee发送出去 } if(basicRfPacketIsReady()) //查询是否有新的无线数据

{ halLedToggle(4); // LED灯取反,无线接收指示 len = basicRfReceive(pRxData, MAX_RECV_BUF_LEN, NULL); //接收无线数据 halUartWrite(pRxData,len); //接收到的无线发送到串口数 }

第四步,下载程序。 1.为无线模块A下载程序。注释掉上述程序的第6和第7行,重新编译程序无误后,下载到无线模块A中。 2.为无线模块B下载程序。注释掉上述程序的第4和第5行,重新编译程序无误后,下载到无线模块B中。 注意:如果有多组同学同时进行实训,每组间的RF_CHANNEL和PAN_ID至少要有一个参数不同。如果多组是间的RF_CHANNEL和PAN_ID值都一样,则会造成信号串扰。

第五步,运行程序。 1.分别把节点1和节点2接到PC机的串口,打开两个串口调试软件,把串口的波特率设置为38400;再给两个模块上电。 图3.4 串口调试窗口1

2.在两个串口调试软件上,发送不同的信息,并能显示对方发送的信息。如图3.4和3.5所示。 图3.5 串口调试窗口2(USB转串口)

谢谢!