我这几天都在看书。
光从实验那里的资料有很多地方都不清楚的
主要是对物理层(也可收硬件层)PD,介质层(MAC),网络层(NWK),用户层(APP)等没有了解
其实,除了用户层,其它层对于大家来说 要珍惜生命 不要理为好
其实说来说去,就是我们直接搞 APP层就行了。
其它层TI搞好了,搞得好好的。不用去理的
我们要做的东西全部都在APP层
如协调器的组网指令 是通过 原语 下达给网络层的。
丢给网络层后 什么都不理,等网络层通过confirm 原语 返回信息。你就知道 组网成功与否了。你直接读返回的 NLME_NETWORK_FORMATIOM.confim 的 Status 这个参数就知道是否组网成功了
好了,组网成功了,可以通过原语 ==》LME_PERMIT_JOINING.request 下达让其它节点接入自己建 好的网络。说白点就是下令招 收小弟了
LME_PERMIT_JOINING.request 只有一个参数  
ermitDuration 是个8位的数。
0x00代表 不收小弟
0xff 代表无限招收小弟
0x01到0xfe 代表在 这个时间内招收小弟,比如 0x01代表 1秒内 表内人招人指令下达后,1秒内有小弟进来,就是成功招进来的小弟。
招到小弟后要向其传输 数据,则通过 NEDE_DATA.request 下边的一干参数下达指令。
小弟刚通过 NLME_SYNC.request 下边的一个参数 Track 来指示 信标是否同步
然收凡是网络层收到的数据包 是同小弟的地址是一样的都住 小弟的APP层上供。
不是和小弟地址一样的,全部丢掉
说是说 小弟用NLME_SYNC.request 来初始化设备并打开接收机 就无时无刻都收听来自本网的所有数据,只有和小弟的地址一样的数据小弟的小弟网络层才上供给他的老大=》小弟
一路看下来,对各层不了解 那么对着人家写好的栈 真的是一头烟呀,建议玩这个先 看栈的原理。
这本书不错 《ZIGBEE 无线网络技术 入门与实战》
---------------------------------
你得在子机开机的时候发一个包给协调器,改一下协调器的任务,将子机的地址和功能能记起来,所有的子机也一样去找主机登记,然后叫协调器返回你要找的子机地址。协调器跟据你要找的功能子机发送地址包给用户。
ZIGBEE只有一个用户程式任务可以插进去,不要在里边墨机太久。最好用另外一个单片机做,做完了再将数据送给CC2530.
我觉得ZIGBEE寿命不会太长,TI搞过后一直没理它。自己搞其实就是一个51加NRF24+.这是我个人觉得。那个通用栈只是个例程而已。不是软件专业的人,建议从基础功能能学起,自己写一个适合自己使用的。那个通用栈很大,不要命的就看吧~~~~~~~~~~~~~~~~~~~~~~~~~~~
一周热门 更多>