短距离无线通信第八节.pptVIP

  • 6
  • 0
  • 约7.02千字
  • 约 21页
  • 2018-05-31 发布于河南
  • 举报
短距离无线通信第八节

短距离无线通信 第八次课:ZigBee组网 具体实例 实验指导书中高级实验4:SampleApp实验 内容: 按键控制工作组内CC2430模块LED1(绿灯)闪烁的实验,只有模块在工作组内,节点才可以控制此模块的LED闪烁。 周期性发送消息事件 闪烁事件 组的加入与退出 SmartRF Flash Programmer的使用 * 具体内容: 说明:首先启动一个网络协调器,协调器如果建立网络成功后,会在液晶上显示该节点为协调器同时显示网络ID号。然后打开一个终端节点的电源,此时终端节点会自动加入网络。加入网络成功后,终端节点会显示自己的网络地址和父节点的网络地址。节点(路由、终端)加入网络后会自动加入工作组。 终端节点跟协调器、路由器加入同一工作组后,终端节点就可以控制协调器和路由器灯闪烁了,只需按UP键,就可以控制路由器和协调器灯闪烁。同样,按路由器的UP键,也可以控制协调器灯闪烁。协调器和路由器也可以随时退出工作组或加入工作组,当协调器或路由器在工作组内时,按下RIGHT键,就可以退出工作组,反之则加入工作组。协调器或路由器一旦退出工作组,终端节点就无法控制协调器或路由器了。 在上一节我们看到设备上电就会自动启动(Sample Application没有编译HOLD_AUTO_START),当设备启动成功最终触发了事件ZDO_STATE_CHANGE,而此事件会向所有注册过的端点(除ZDO)发送。在Sample Application的初始化代码中SampleApp_epDesc 调用函数afRegister()进行了注册,所有OS会调用Sample Application的处理函数SampleApp_ProcessEvent()进行处理。处理代码如下: 程序代码: case ZDO_STATE_CHANGE: ?? SampleApp_NwkState = (devStates_t)(MSGpkt-hdr.status); ?? if ( (SampleApp_NwkState == DEV_ZB_COORD) ??????|| (SampleApp_NwkState == DEV_ROUTER) ??????|| (SampleApp_NwkState == DEV_END_DEVICE) ) ???? { ????????// Start sending the periodic message in a regular interval. ????????osal_start_timerEx( SampleApp_TaskID, ??????????????????????????????SAMPLEAPP_SEND_PERIODIC_MSG_EVT, ??????????????????????????????SAMPLEAPP_SEND_PERIODIC_MSG_TIMEOUT ); ???? } ???? else ???? { ????????// Device is no longer in the network ???? } break; 处理ZDO_STATE_CHANGE:如果设备的网络状态为DEV_ZB_COORD、DEV_ROUTER或者DEV_END_DEVICE表明设备启动成功。网络状态在设备启动时被设定。如果设备启动成功,则调用了函数osal_start_timerEx()定时触发了事件SAMPLEAPP_SEND_PERIODIC_MSG_EVT。该事件的任务ID为SampleApp_TaskID,即该事件还是由Sample Application的处理函数进行处理。定时长度为SAMPLEAPP_SEND_PERIODIC_MSG_TIMEOU(5000mS[SampleApp.h])。 处理代码如下: if ( events SAMPLEAPP_SEND_PERIODIC_MSG_EVT ) { ?? //发送周期信息 ?? SampleApp_SendPeriodicMessage(); ?? //定时再次触发事件SAMPLEAPP_SEND_PERIODIC_MSG_EVT ?? osal_start_timerEx( SampleApp_TaskID,SAMPLEAPP_SEND_PERIODIC_MSG_EVT, ????????????????(SAMPLEAPP_SEND_PERIODIC_MSG_TIMEOUT + (osal_rand() 0x00FF)) ); ?? // 返回没有处理完成的事件 ?? return (events ^ SAMPLEAPP_SEND_PERIODIC_MSG_EVT); } 在处事件SAMPLEAPP_SEND

文档评论(0)

1亿VIP精品文档

相关文档