下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、4.组播-多终端控制协调器 LED实验内容:1.2.3.实验多终端通讯实现组播通讯,协调器不响应其它组发过来的数据掌握 Led 开关提示:由于组播需要三个节点才能真正完成此实验,一个协调器,两个终端。如果只有两个节点就只能完成部分内容了。其实代码并不复杂,看看代码也就清楚组播是怎么回事了。 实现现象:三个节点,一个节点做协调器,另外两个节点做终端。按终端 S1 键时,协调器 Led2 状态改变同时终端自身的 Led2 状态也改变,提示发送成功。修改其中一个终端的组载后,按此终端 S1 键时,此时看协调器 Led2 状态是否会改变。,编译下实验详解:打开.CC2530第5章 zigbee协议栈应
2、用与组网4.组播-多终端控制协调器LEDZStack-2.5.1aProjectszstackSlesSleAppCC2530DBSleApp.eww工程。由于此实验中就是基于TI的SleApp修改的,由于SleApp本身就有组播的代码,只需修改小部分代码就可实现实验的功能了,现在告诉大家怎么修改。1.在全局变量区定义一个全局变量,用来保存当前Led的状态/* GLOBAL VARIABLES*/u8 LedSe = 0;/保存当前Led的状态2. 在SleApp_ProsEven函数找到如下代码:1.2.3.4.5.6.7.8.case ZDO_SE_CHANGE:/当网络状态改变,所有节点
3、都会发生Sif|leApp_NwkSe =(devSes_t)(MSGpkt-hdr.sus);( (S (S(SleApp_NwkS leApp_NwkS leApp_NwkSe = DEV_ZB_COORD) e = DEV_ROUTER)e = DEV_END_DEVICE)/协议器不用发送所以/路由器/终端设备|)/Starding theperiodic message in a regularerval./osal_start_timerEx( SleApp_TaskID,/S/SLEAPP_SEND_PERIODIC_MSG_EVT, LEAPP_SEND_PERIODIC_MS
4、G_TIMEOUT );9.注释osal_start_timerEx这行代码,此实验没有周期性事件。修改后如红色代码所示。3. 找到按键处理函数SleApp_HandleKeysvoid SleApp_HandleKeys( u8 shift, u8 keys )(void)shift;/entionally unreferenced parameter/判断S1按键是否被按下,由于TI用的5向按键,和的开发板IO有所不同市安联德科技专业专注无线通讯 勇于创新追求卓越品质1if ( keys & HAL_KEY_SW_6 )#if defined(ZDO_COORDINATOR)/协调器只接收
5、数据#else S/路由器和终端才发送数据/以组播方式发数据leApp_SendFlashMessage(0);#endifif (/*/keys & HAL_KEY_SW_1 )/判断S2按键是否被按下The Flashrd issent to Group 1.device in and out of group 1.This key toggles thisIf this device doesnt belong to group 1, this applicationwill not receive theFlashd sentto group 1.aps_Group_t *grp;/查
6、找SLEAPP_ENDPO端点是否加入了以S LEAPP_ENDPO,LEAPP_FLASH_GROUP为组ID的组 LEAPP_FLASH_GROUP );grp = aps_FindGroup( if ( grp )/ Remove from the aps_RemoveGroup( SelseSSgroupLEAPP_ENDPO, SLEAPP_FLASH_GROUP );/退出组/ Add to the aps_AddGroup(flash groupSLEAPP_ENDPO,&SleApp_Group );/加入组4.接收数据找到SleApp_MessageMSGCB函数void S
7、uleApp_MessageMSGCB(ingMSGPacket_t *pkt ) /接收数据8 data;switch ( pkt-clusterId )case Sbreak;LEAPP_PERIODIC_CLUSTERID:case SLEAPP_FLASH_CLUSTERID:data = (u8)pkt-cmd.Data0;/根据接收到的数据改变Led2的亮灭市安联德科技专业专注无线通讯 勇于创新追求卓越品质2if(data = 0)HalLedSe elseHalLedSe break;L_LED_2, HAL_LED_MODE_OFF);L_LED_2, HAL_LED_MODE
8、_ON);组播发送数据 找到SleApp_SendFlashMessage函数5.void SLedSleApp_SendFlashMessage( u16 flashTime )e = LedSe;/Led状态取反if ( AF_DataRequest( &SS 1,leApp_Flash_DstAddr, &SleApp_epDesc,LEAPP_FLASH_CLUSTERID,&LedS &Se, leApp_TransID,AF_DISCV_ROUTE, AF_DEFAULT_RADIUS ) = afSus_SUCS )if(LedSe = 0)/切换自身状态提示用户操作成功L_LE
9、D_2, HAL_LED_MODE_ON);HalLedSe elseHalLedSeL_LED_2, HAL_LED_MODE_OFF);else/ Error occurred in request to send.如果想用其它组号通讯时,修改SLEAPP_FLASH_GROUP宏定义,并将SleApp_Init()改成以下代码即可,或者打开代码中的注释:/ Setup for the flashds destination address - Group 1S S S/SleApp_Flash_DstAddr.addrMode = (afAddrMode_t)afAddrGroup;leApp_Flash_DstAddr.endPo= SLEAPP_ENDPO;leApp_Flash_DstAddr.addr.shortAddr = SLEAPP_FLASH_GROUP; /组
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 【正版授权】 ISO 18488:2025 EN Polyethylene (PE) materials for piping systems - Determination of strain hardening modulus in relation to slow crack growth - Test method
- 2025年省考面试真题模拟题及答案解析
- (完整版)2019年中级会计实务真题及答案解析
- 小学生课间游戏安全课件
- 大一自我介绍模板范文
- 广西壮族自治区2025年中考历史真题附答案
- 建筑工程一级注册建造师继续教育选修课考试题及答案
- 护理学考试题及答案
- 搬运作业安全培训(试题及答案)-7-25题库大全
- 教师资格之小学综合素质通关考试题库带答案解析
- 2025年乌苏市公安局开招聘警务辅助人员(67人)笔试考试参考题库附答案解析
- 2026年尾矿库闭库工程验收申请报告
- 农家书屋各项管理制度
- GB 19193-2025传染病消毒规范
- (12)普通高中技术与工程课程标准日常修订版(2017年版2025年修订)
- 2025年初级银行从业资格之初级公司信贷高分通关题库A4可打印版
- 2025年北京市综合评标专家库专家考试历年参考题库含答案详解(5套)
- 2025年以尽责管理推动价值创造-A股机构投资者赋能上市公司治理升级的实践路径研究报告-财新智库
- 早期胃癌内镜切除术后追加外科手术中国专家共识2025
- 消毒供应室灭菌流程
- 施工现场建筑垃圾处置方案(完整版)
评论
0/150
提交评论