zigbee之SampleApp_ProcessEvent()

我们修改代码主要是在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( )函数可以创建一个绑定条目
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
忻州师范学院计算机科学与技术系 实 验 报 告 学号: 姓名: 班级: 1302班 "课程名称 "无线网络技术 "实验课时 " 2 " "实验项目 "Zigbee实验 "实验时间 "2015.12.14 " "指导老师 " "实验成绩 " " "实验目的( "了解并认识Zigbee; " "本次上机实 "掌握Zigbee的配置方法及实现; " "验所涉及并 "利用Zigbee完成无线点灯实验。 " "要求掌握的 " " "知识点) " " "实验环境( "硬件部分: " "本次上机实 "PC机;Zigbee模块; " "验所使用的 "软件部分: " "平台和相关 "keil u Vision4开发环境、J-Link驱动程序。 " "软件) " " "实验内容( "一.配置路由: " "算法、程序 "1. 取出J-link仿真器,将转接口插到J-link仿真器的JTAG端,通过转接 " "、步骤和方 "线将J-link与转接板连接,通过10pin转接线将转接板与节点连接,通过J" "法) "-link的标配USB线,将J-link与电脑相连。 " " " " " "将转接口插到J-link仿真器的JTAG端 Zigbee模块 " " "2 . 将转接板与节点相连,将路由器代码下载到Zigbee模块中。 " " "配置协调: " " "将转接板与节点相连,将协调器代码下载到Zigbee模块中。 " " "先给协调器上电,再上电路由器。 " " "在节点上按SW1按键可让另一节点的指示灯亮。 " " "五.再按一次SW1按键,灯灭。 " "调试过程及 " " "实验结果( " " "详细记录程 " " "序在调试过 " " "程中出现的 " " "问题及解决 " " "方法,记录 " " "程序执行的 " " "结果) " " "总结(对上 "通过本次实验,了解并认识Zigbee;掌握Zigbee的配置方法及实现;利用" "机实验结果 "Zigbee完成无线点灯实验。每次实验都需要团队的合作,在合作中进步。" "进行分析, " " "上机心得体 " " "会及改进意 " " "见) " " "附录 "(附源程序清单可另附页) " ----------------------- zigbee实验报告全文共2页,当前为第1页。 zigbee实验报告全文共2页,当前为第2页。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值