我是靠谱客的博主 优美帽子,最近开发中收集的这篇文章主要介绍ZIGBEE事件类型,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

    ZIGBEE事件有两类,系统定义事件和用户定义事件。

    系统类事件是协议栈已定义好的,用户类事件是我们用户层面来定义的。

    事件类号采用一个16bit的常量,使用独热码编码,独热码是只有一个bit为1,其他全为0的一种码制,采用独热码的优点是操作方便,可以使用简单的位操作指令实现,如:提取系统类事件用events& SYS_EVENT_MSG,清除系统类事件用events^ SYS_EVENT_MSG;由于事件类号是16bit,也就是说zigbee事件类只有16个,系统类事件SYS_EVENT_MSG使用0x8000,故自定义事件类只有15个,可采用0x4000至0x0001。

    事件处理函数为:app_ProcessEvent( byte task_id, UINT16 events ),可见调用此函数将传递两个参数,task_id任务号和events事件类号;事件处理函数首先根据事件类号来判断是何种类型事件,然后根据任务号得到消息指针pMsg,最后根据消息指针结构里的事件号pMsg->event来具体处理事件,event为8bit的常量,系统event在ZComDef.h里定义。

    在ZigBee协议栈中,任何通信数据都是利用帧的格式来组织的,协议栈的每一层都有特定的帧结构;AF定义了两种帧类型,键值对(Key Value Pair,KVP)和报文(Message,MSG);KVP消息主要用于传输一些较为简单的变量格式;但由于Zigbee的很多应用领域中的消息较为复杂并不适用KVP格式,因此Zigbee协议规划定义了MSG类型。MSG对数据格式不作要求,适合任何格式的数据传输,因此可以用于传送数据量大的消息。

    下面对系统event说明(其中AF_代表应用框架,ZDO_代表设备对象):

    1、AF_DATA_CONFIRM_CMD:Dataconfirmation数据收到确认;A设备发送数据,B设备收到数据后将返回应答ack给A,A收到此ack将触发AF_DATA_CONFIRM_CMD事件;F_DataRequest函数参数options如设AF_ACK_REQUEST,则要求对方设备回复ack。

    2、AF_INCOMING_MSG_CMD:IncomingMSG type message收到报文类型的消息;A设备用AF_DataRequest函数发出报文消息,B设备收到报文消息将触发AF_INCOMING_MSG_CMD事件。

    3、AF_INCOMING_KVP_CMD:IncomingKVP type message收到键值对类型的消息。

    4、AF_INCOMING_GRP_KVP_CMD:IncomingGroup KVP type message收到群键值对类型的消息。

    5、KEY_CHANGE:KeyEvents按键触发事件。

   6、ZDO_NEW_DSTADDR:ZDOhas received a new DstAddr for this app ZDO终端获得新地址;匹配描述符请求(MatchDescriptor Request)响应指示(例如:自动匹配);如A设备加入绑定后,A设备触发ZDO_NEW_DSTADDR事件。

    7、ZDO_STATE_CHANGE:ZDOhas changed the device's network state ZDO网络状态改变;当A设备的网络状态改变时,A就会触发此消息,如SampleApp_NwkState= DEV_INIT也会触发(我理解,不知对不对)。

   8、ZDO_MATCH_DESC_RSP_SENT:ZDOmatch descriptor response was sent ZDO描述符匹配响应发送;A设备发送ZDP_MatchDescReq函数请求描述符匹配绑定,B设备收到后发送ZDP_MatchDescRsp函数响应,B设备发送响应函数后触发ZDO_MATCH_DESC_RSP_SENT事件。

    9、ZDO_CB_MSG:ZDOincoming message callback 收到ZDO反馈消息;A设备用函数ZDO_RegisterForZDOMsg注册了特定消息,A设备才能用ZDO_CB_MSG消息接收解析此特定消息;应用绑定例子:A设备发送绑定请求,B设备收到后发送匹配响应,A设备收到响应触发ZDO_CB_MSG事件。


最后

以上就是优美帽子为你收集整理的ZIGBEE事件类型的全部内容,希望文章能够帮你解决ZIGBEE事件类型所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(59)

评论列表共有 0 条评论

立即
投稿
返回
顶部