我们修改代码主要是在SampleApp.c这个文件夹下面,
SampleApp_ProcessEvent() 用户应用任务的事件处理函数 下面有两个系统消息

消息一SYS_EVENT_MSG 普通的事件
if ( events & SYS_EVENT_MSG ) //接收系统消息再进行判断
//接收属于本应用任务 SampleApp的消息,以 SampleApp_TaskID标记 
MSGpkt = (afIncomingMSGPacket_t *)osal_msg_receive( SampleApp_TaskID ); 
case KEY_CHANGE://按键事件 
SampleApp_HandleKeys( ((keyChange_t *)MSGpkt)->state, ((keyChange_t *)MSGpkt)->keys ); 
case AF_INCOMING_MSG_CMD: //接收数据事件,调用函数 AF_DataRequest()接收数据
SampleApp_MessageMSGCB( MSGpkt );   //调用回调函数对收到的数据进行处理 
case ZDO_STATE_CHANGE: //只要网络状态发生改变,就通过 ZDO_STATE_CHANGE 事
件通知所有的任务。同时完成对协调器,路由器,终端的设置 
注意:ZDO_STATE_CHANGE只有当设备网络发生改变后才会触发,所以在此处可做一些
初始化工作;如果网络一直连接的就不会再次进入这个函数了,只执行1次。

/*初始化定时事件,就是设置发送周期性事件*/
uint8 osal_start_timerEx( uint8 taskID, uint16 event_id, uint16 timeout_value )
//osal_start_timerEx三个参数决定着周期性发送数据的,timeout_value间隔时间ms,时间到
//才调用SampleApp_SendPeriodicMessage();

//判断SAMPLEAPP_SEND_PERIODIC_MSG_EVT有没有发生,如果有的就执行下面函数 
 
系统消息二SAMPLEAPP_SEND_PERIODIC_MSG_EVT// Send a message out - This event is generated by a timer
if ( events & SAMPLEAPP_SEND_PERIODIC_MSG_EVT )//时间到了,就触发这个系统消息,然后调用发送周期函数

void SampleApp_SendPeriodicMessage( void )//周期发送函数
{
 调用afStatus_t AF_DataRequest( afAddrType_t *dstAddr, endPointDesc_t *srcEP,
                           uint16 cID, uint16 len, uint8 *buf, uint8 *transID,
                           uint8 options, uint8 radius )

}

void SampleApp_MessageMSGCB( afIncomingMSGPacket_t *pkt )//接受函数
void SampleApp_SendPeriodicMessage( void )//周期发送函数
SampleApp_SendFlashMessage(0);  //发数据  
调用 zb_BindDeviceRequest( )函数可以创建一个绑定条目

zigbee之SampleApp_ProcessEvent()相关推荐

  1. Z-Stack - Modification of Zigbee Device Object for better network access management

    写一份赏心悦目的工程文档,是很困难的事情.若想写得完善,不仅得用对工具(use the right tools),注重文笔,还得投入大把时间,真心是一件难度颇高的事情.但,若是真写好了,也是善莫大焉: ...

  2. zigbee 串口不稳定_Zigbee

    Zigbee 不完全整 基本概念: 计算机网络定义: ​ 1.用通信链路将分散的多台计算机.终端.外设等互联起来,使之能彼此通信,同时共享各种硬件.软件和数据资源,整个系统可称为计算机网络 ​ 2.计 ...

  3. ZigBee——在CC2530的ZStack中添加定时任务

    在使用CC2530芯片进行ZigBee协议的开发时,我们往往使用TI公司提供的带有ZigBee协议栈的ZStack工程,接下来以其中的SampleApp为例,向其中添加自己需要的定时任务并设置周期和处 ...

  4. ZigBee协调器向子节点发消息

      在一般的ZigBee教程中,子节点如何向协调器发送消息已经被描述得非常清楚了,即子节点直接使用API向地址为0x0000的协调器发送消息即可.用到的函数如下: afStatus_t AF_Data ...

  5. 基于ZigBee的智能家居设计与实现—CC2530开发

    目录 背景 环境搭建 IAR安装破解 SmartRF04EBR驱动安装 CC2530 I/O口操作 I/O口简介 寄存器介绍 流水灯 CC2530 ADC操作 ADC简介 寄存器介绍 ADC实验 CC ...

  6. Zigbee——串口无线透传分析

    透传的基本概念: 透传就是透明传输的简称.那么什么是透明传输呢?顾名思义,透明传输就是指在传输过程中,对外界完全透明,不需要关系传输过程以及传输协议,终目的是要把传输的内容原封不动的传递给被接收端,发 ...

  7. Zigbee 无线传感网络 无线通信技术 协议体系结构 OSAL

    什么是zigbee 无线传感网络的无线通信技术可以采用zigbee,蓝牙,wifi和红外 Zigbee技术是一种短距离,低复杂度,低功耗,低成本,低数据速率的双向无线通信技术,是一组基于IEEE802 ...

  8. 快速了解ZigBee的协议栈

    带大家来一起快速的看懂ZigBee的协议栈的运行流程. 1.读任何程序都需要从main函数入手,那我们先来看Zmain.c中的main函数. 问题:在main中我们会看到很多的函数,我们究竟要看哪个函 ...

  9. 四川农业大学ZigBee复习重点

    Zigbee概述 1. Zigbee是一种近距离.低复杂度.低功耗.低成本的双向无线通信技术 2. Zigbee的特点是功耗低.成本低.时延短.网络容量大.可靠安全. 3. 常见的Zigbee芯片有C ...

最新文章

  1. python列表方法语句_Python中列表和元组的相关语句和方法讲解
  2. oracle sqlserver 存储过程,存储过程--oracle,sqlserver示例
  3. 伪类 伪元素 如何区分
  4. Shell 环境中的预定义变量
  5. 学python怎么教_学神IT教你Python应该怎么学
  6. 比起掉头发,我更怕掉队
  7. LeetCode【5--最长的回文子串】 LeetCode【6--Z字形变换】
  8. STL源码剖析 5中迭代器型别
  9. 20年研发管理经验谈(七)
  10. 微信端自动授权登陆实现 - 无第三方库版
  11. python语言程序设计实践教程答案实验六_实验6数组程序设计答案
  12. Win7英文版安装中文语言包过程及方法总结
  13. UnRaid配置文件、启动U盘定时备份方案
  14. 如何快速去除PDF的密码和限制:遇到PDF被加密,不能复制、编辑,怎么办?教大家一个又快又好用的方法、实用。
  15. C1083: 无法打开包括文件:“corecrt.h”
  16. 2-2.基金的投资交易与结算
  17. 国内CDN加速的背景和现状
  18. 浅谈SSD,eMMC,UFS
  19. 图片转文字的实用方法
  20. 视频号怎么运营?视频号怎么赚钱?零基础玩视频号?创作运营变现,你要的干货都在这了!

热门文章

  1. 7-27 兔子繁衍问题(15 分)
  2. Python之IO模型
  3. golang常用手册:数组、变量作用域、函数
  4. 物联网推动时代进步 中小玩家如何傍上运营商这棵大树
  5. 协鑫集成进军乌克兰光伏市场 切尔诺贝利望获重生
  6. 求幂,我居然又没做出来
  7. Linux-rmdir命令
  8. bzoj4514[Sdoi2016]数字配对
  9. linux 操作系统安装配置vnc
  10. jquery选择器(转载)