Zibgee栈参考实现
ZigBee 协议栈的参考源码,结构清晰,用 C 语言写的,逻辑也比较容易跟。每一层都拆得细,从 PHY 到应用框架,想了解 ZigBee 怎么跑起来的,这份源码真的蛮适合啃。里面的结构体
和函数
都标准,没太多乱七八糟的封装,适合你一行行地追逻辑,搞明白协议到底是怎么跑数据的。
协议栈的层次划分也比较经典。物理层的就是那些调制解调、频率控制,基本跟无线收发芯片打交道的;MAC 层要管信道访问、帧结构,像是帮设备协调谁先发、谁后发。ZigBee 用的是CSMA-CA
算法,听起来挺高大上,其实就是避开别人说话再插嘴。
网络层负责怎么组网、怎么找路的,支持网状结构,挺适合搞智能家居那种设备多又分散的场景;APS 层再往上,就是安全、寻址啥的,数据能不能送到、会不会被偷听就看它了;最上面是应用框架,定义了设备角色、命令,像个大管家,开发者主要就跟它打交道。
源码里事件机制
也做得不错,比如收到数据包就触发逻辑,用起来比较灵活。如果你对内存分配
比较敏感,这套代码里也有不少地方自己写了malloc
替代方案,蛮适合嵌入式场景的。
如果你是搞 ZigBee 开发的,或者打算写点CC2530
相关的应用,这份参考源码可以先过一遍再上手。懂了这些,配合像ZStack 2.51a这种官方栈,会更容易对上号。
顺手整理了几个扩展资料,你可以按需看看:
169.07KB
文件大小:
评论区