时间:2021-07-01 10:21:17 帮助过:33人阅读
z-stack 是 半开源 的协议栈,我们并不是能清楚的看到每个层的源码,部分代码是以 库 的形式提供的。一般情况下,我们至少应该读懂 硬件抽象层 和 设备对象层 的代码,这里需要自己添加自己想要的功能。硬件抽象层里面有 系统消息事件 、 led 事件 、 键盘事件
z-stack是半开源的协议栈,我们并不是能清楚的看到每个层的源码,部分代码是以库的形式提供的。一般情况下,我们至少应该读懂硬件抽象层和设备对象层的代码,这里需要自己添加自己想要的功能。硬件抽象层里面有系统消息事件、led事件、键盘事件。在设备对象层里面有系统消息事件、ZDO状态改变事件、网络初始化事件、网络启动事件、网络更新NV事件、设备重启事件。应用层事件有系统消息事件、允许绑定时间事件、绑定时间事件、进入事件、用户事件等等。
Zigbee协议栈的实时性要求不是很高,因此在设计任务调度程序的 时候,OSAL(操作系统抽象层)采用了轮询调度队列方式进行任务调度。
任务号越小,任务优先级越高。MAC层优先级最高,应用层任务优先级最低。OS按优先级高低去执行事件,周而复始去轮询。