广播组网-无线数据传输_第1页
广播组网-无线数据传输_第2页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

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

文档简介

3.广播组网实验内容:掌握串口的使用 实验详解:打开..\EB2530\第5zigbee协议栈应用与组网\3.广播组网-\Sk2.5.1Projet\zsak\Smple\Smplepp\2530\Smplepp.ew工程。在左边workspe 下比较重要的两个文件夹分别是Zmin和pp。我们开发主要在App文件夹进Smplpp.和Smplepp.h1所示。图接收数据(红色字体为新增代码void ingMSGPacket_t*pkt//接收数{uint16switch(pkt->clusterId{caseHalUARTWrite(0,Rx //提示信HalUARTWrite(0,pkt->cmd.Data,pkt->cmd.DataLength);//输出接收到的数HalUARTWrite(0,n //回车换caseSAMPLEAPP_FLASH_CLUSTERID://此实验没有使用,到后面实验详解flashTime=BUILD_UINT16(pkt->cmd.Data[1],pkt->cmd.Data[2]);HalLedBlink(HAL_LED_4,4,50,(flashTime/4));}}发送数据(红色字体为新增代码voidSampleApp_SendPeriodicMessage(void //周期发送函数{uint8 调用AF_DataRequest将数据无线广去,在第一个实验详解里就不重复了if(AF_DataRequest(&SampleApp_Periodic_DstAddr,AF_DEFAULT_RADIUS)==afStatus_SUCCESS{}{//Erroroccurredinrequestto}}实验步骤:选择CoodinatorEB,到开发板A;作为协调器,通过USB线跟电脑连接选择EndDeviceEB,到开发板B;作为终端设备无线发送数据给协调器3.给两块开发板 接收数据主要工作:1)接收到的数2)PC在SampleApp.c中搜索SampleApp_ProcessEvent,找到如下 SampleApp_MessageMSGCB(MSGpkt);其中SampleApp_MessageMSGCB(MSGpktvoid ingMSGPacket_t*pkt//接收数{uint16flashTime;{caseHalUARTWrite(0,Rx //提示信HalUARTWrite(0,pkt->cmd.Data,pkt->cmd.DataLength);//输出接收到的数HalUARTWrite(0,n //回车换}} ingMSGPacket_t的定义,它是一个结构体,内容如下:{osal_event_hdr_t /*OSALMessageheaderOSAL息头uint16 /*Message'sgroupID0ifnotset息组IDuint16 /*Message'sclusterID息族ID /*SourceAddress,ifendpointisit'sanInterPANmessage地址类型uint16 /*MACheaderdestinationshortaddressMAC物理地址uint8 /*destinationendpointMAC的端点uint8 /*广播地址uint8 /*接收数据帧的链路质量uint8 /*接收数据帧的未加工相关值 /*ThereceivedRFpowerinunitsdBm接收的射频功率uint8 /*deprecated用uint32 /*receipttimestampfromMAC收到时间标记mandFormat_tcmd/*ApplicationData应用程序数据 //无线数据包格式结构体那么数据在哪里呢?在红色那行,又是一个结构体,继续进入。//GeneralizedMSGCommandFormattypedefstruct{ uint16DataLength; //NumberofbytesinTransDatabyte*Data; osal_memcpy(buf,MSGpkt->cmd.Data,MSGpkt->cmd.DataLength二 发送部caseZDO_STATE_CHANGE://当网络状态改变,所有节点都会SampleApp_NwkState=(devStates_t)(MSGpkt-if/(SampleApp_NwkStateDEV_ZB_COORD||器不用发(SampleApp_NwkState //路由||(SampleApp_NwkStateDEV_END_DEVICE) //终端设{//Startsendingtheperiodicmessageinaregularosal_start_timerEx(SampleApp_TaskID,SAMPLEAPP_SEND_PERIODIC_MSG_TIMEOUT);}SampleApp_TaskID:任务ID,函数SampleApp_Ini(开头定义了SampleApp_TaskID=#defineSAMPLEAPP_SEND_PERIODIC_MSG_EVT#defineSAMPLEAPP_SEND_PERIODIC_MSG_TIMEOUT//判断SAMPLEAPP_SEND_PERIODIC_MSG_EVT有没有发生,如果有的就执行下面函if(events&SAMPLEAPP_SEND_PERIODIC_MSG_EVT{//Sendtheperiodic//Setuptosendmessageagaininnormalperiod(+alittleosal_start_timerEx(SampleApp_TaskID,(SAMPLEAPP_SEND_PERIODIC_MSG_TIMEOUT+(osal_rand()&0x00FF))//returnunprocessedreturn(events^}第4行:SampleApp_SendPeriodicMessage();是我们发送数据的函voidSampleApp_SendPeriodicM

温馨提示

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

评论

0/150

提交评论