13.Zigbee中网络拓扑结构有哪些? 星型、网状、树状
14.ZStack协议栈中HAL主要实现什么功能? HAL:硬件层目录,包括硬件相关的配置、驱动以及操作函数。Common目录下的文件是公用文件,基本上与硬件无关,其中hal_assert.c是断言文件,用于调用,hal_drivers.c是驱动文件,抽象出与硬件无关的驱动函数,包含有与硬件相关的配置和驱动及操作函数。Include目录下主要包含各个硬件模块的头文件,而Target目录下的文件是跟硬件平台相关的。
15.ZStack协议栈中OSAL层是什么? TI-ZigBee调度系统 主要功能为1) 任务注册、初始化和启动。2) 任务调度以及任务间的同步、互斥。3) 中断处理。4) 存储器分配和管理。
16.ZStack协议栈中任务调度最重要的数据结构是什么? 轮询任务调度队列(任务链表)
17.ZStack协议栈中事件与消息的区别? 1、事件是当前系统中被触发的动作,例如有按键按下,接收到其他节点发送过来的消息等等。 2、消息是收到的事件和事件内容的一个封装,比如发生了一个事件(收到别的节点发的消息),这时就会把这个事件所对应的事件号及收到的数据封装成消息,放入消息队列中,供事件处理函数进行处理。 3、任务是处理事件的一个功能集合,一般由一个事件处理函数(ProcessEvents)实现。协议栈是由各个层组成的,每一层都要处理各种事件,所以就为每一层定义了一个事件处理函数,我们可以把这个处理函数理解为任务,任务从消息队列中提取消息,从消息中提取所发生的具体事件,调用相应的具体事件处理函数,比如按键处理函数等等。 总结一下就是: 流程:事件发生后–>被打包为消息–>存放到消息队列–>事件处理函数取出消息并进行相应操作。 ? ? ? ?消息是数据和各层指令的封装
任务是所要做的事即是做的这个事的具体细节。
18.AF_INCOMING_MSG_CMD、KEY_CHANGE、ZDO_STATE_CHANGE等核心事件的含义? 高层应用规范AF、ZDO 1、AF_DATA_CONFIRM_CMD:Data confirmation数据收到确认;A设备发送数据,B设备收到数据后将返回应答ack给A,A收到此ack将触发AF_DATA_CONFIRM_CMD事件;F_DataRequest函数参数options如设AF_ACK_REQUEST,则要求对方设备回复ack。
2、AF_INCOMING_MSG_CMD:Incoming MSG type message收到报文类型的消息;A设备用AF_DataRequest函数发出报文消息,B设备收到报文消息将触发AF_INCOMING_MSG_CMD事件。
3、AF_INCOMING_KVP_CMD:Incoming KVP type message收到键值对类型的消息。
4、AF_INCOMING_GRP_KVP_CMD:Incoming Group KVP type message收到群键值对类型的消息。
5、KEY_CHANGE:Key Events按键触发事件。 6、ZDO_NEW_DSTADDR:ZDO has received a new DstAddr for this app ZDO终端获得新地址;匹配描述符请求(Match Descriptor Request)响应指示(例如:自动匹配);如A设备加入绑定后,A设备触发ZDO_NEW_DSTADDR事件。
7、ZDO_STATE_CHANGE:ZDO has changed the device’s network state ZDO网络状态改变。
8、ZDO_MATCH_DESC_RSP_SENT:ZDO match descriptor response was sent ZDO描述符匹配响应发送;A设备发送ZDP_MatchDescReq函数请求描述符匹配绑定,B设备收到后发送ZDP_MatchDescRsp函数响应,B设备发送响应函数后触发ZDO_MATCH_DESC_RSP_SENT事件。
9、ZDO_CB_MSG:ZDO incoming message callback 收到ZDO反馈消息;A设备用函数ZDO_RegisterForZDOMsg注册了特定消息,A设备才能用ZDO_CB_MSG消息接收解析此特定消息;应用绑定例子:A设备发送绑定请求,B设备收到后发送匹配响应,A设备收到响应触发ZDO_CB_MSG事件。
|