《物联网系统设计与应用开发》课件5-2 任务2 ZigBee串口通信_第1页
《物联网系统设计与应用开发》课件5-2 任务2 ZigBee串口通信_第2页
《物联网系统设计与应用开发》课件5-2 任务2 ZigBee串口通信_第3页
《物联网系统设计与应用开发》课件5-2 任务2 ZigBee串口通信_第4页
《物联网系统设计与应用开发》课件5-2 任务2 ZigBee串口通信_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、ZigBee协议栈中串口应用串口是开发板和用户电脑交互的一种工具,正确地使用串口对于ZigBee无线网络的学习具有较大的促进作用,使用串口的基本步骤:①初始化串口,包括设置波特率、流控、中断等;②打开串口;③串口读(从接收缓冲区读取数据)和串口写(向发送缓冲区发送数据)上述方法是使用串口的常用方法,但是由于ZigBee协议栈的存在,使得串口的使用略有不同,在ZigBee协议栈中己经对串口初始化所需要的函数进行了实现,用户只需要传递几个参数就可以使用串口,此外,ZigBee协议栈还实现了串口的读取函数和写入函数。因此,用户在使用串口时,只需要掌握ZigBee协议栈提供的串口操作相关的三个函数即可。1、ZigBee协议栈中串口应用ZigBee协议栈中提供的与串口操作有关的三个函数为:

uint8HalUARTOpen(uint8port,halUARTCfg_t*config)uint8port//端口号halUARTCfg_t*config//串口信息结构体

uint16HalUARTWrite(uint8port,uint8*buf,uint16len)uint8*buf//输出的字符串uint16len//字符串长度

uint16HalUARTRead(uint8port,uint8*buf,uint16len)uint8*buf//读取的字符串缓冲区uint16len//要读取的长度1、ZigBee协议栈中串口应用任务:串口通信本任务实现功能:协调器建立ZigBee无线网络,终端节点自动加入该网络中,然后终端节点周期性地向协调器发送字符串“EndDevice”,协调器收到该字符串后,通过串口将其输出到用户PC机,实验效果图如图5-16所示。串口通信协调器和终端节点流程图如图所示。串口通信协调器流程图串口通信终端节点流程图任务:串口通信协调器端:修改GenericApp.c文件,(新增加的部分以红色字体显示)。voidGenericApp_Init(bytetask_id){GenericApp_TaskID=task_id;GenericApp_TransID=0;GenericApp_epDesc.endPoint=GENERICAPP_ENDPOINT;GenericApp_epDesc.task_id=&GenericApp_TaskID;

GenericApp_epDesc.simpleDesc=(SimpleDescriptionFormat_t*)&GenericApp_SimpleDesc;GenericApp_epDesc.latencyReq=noLatencyReqs;afRegister(&GenericApp_epDesc);//通过AF注册端点描述符halUARTCfg_tuartConfig;//定义一个halUARTCfg_t

类型的结构体变量

uartConfig.configured=TRUE;uartConfig.baudRate=HAL_UART_BR_115200;//波特率uartConfig.flowControl=FALSE;uartConfig.callBackFunc=NULL;HalUARTOpen(0,&uartConfig);//打开串口}任务实施协调器端,消息处理函数:voidGenericApp_MessageMSGCB(afIncomingMSGPacket_t*pkt){switch(pkt->clusterId){caseGENERICAPP_CLUSTERID:

HalUARTWrite(0,"Rx:",3);//提示接收到数据//串口输出接收到的数据HalUARTWrite(0,pkt->cmd.Data,pkt->cmd.DataLength);HalUARTWrite(0,"\n",1);//回车换行break;default:break;

}}任务实施使用串口需要预编译,可以在option—C/C++Compiler的Preprocessor地方加入,如图5-19所示,图中的ZTOOL_P1代表串口0,若用串口1,则定义为ZTOOL_P2。任务实施操作步骤(1)选择CoodinatorEB,编译后下载到开发板1,做为协调器,通过USB线跟电脑连接。(2)选择EndDeviceEB,编译后下载到开发板2,做为终端设备,发送数据给协调器。(3)先给协调器上电,再给终端设备上电,打开串口调试助手,波特率设为115200,协调器间隔5s会收到终端发过来的数据,串口输出如图5-20所示。(4)关闭终端设备电源,看看电脑是否还能收到数据?自行验证一下。实验现象终端连接到网络后,向协调器发送字符串“EndDevice”;协调器收到终端发回的数据后,通过串口输出到电脑。感谢观看THANKYOUPleasereplacetext,clickaddrelevantheadline,modifythetextcontent,alsocancopyyourcontenttothisdirectly.Pleasereplacetext,clickaddrelevantheadline,modifythetextcontent,alsocancopyyourcont

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论