基于ZigBee Mesh网络的无线串口设计

手机与无线通信 时间:2011-05-24 来源:网络

Z—Stack采用操作系统的思想来构建,采用任务轮循机制,当各层初始化之后,系统进入低功耗模式,当任务有事件发生时,唤醒系统,开始进入中断处理任务事件,结束后继续进入低功耗模式。如果同时有几个事件发生,判断优先级,逐次处理事件。Z—Stack的工作流程如图7所示。

g.jpg


3.3 无线串口程序流程
因为Z—Stack是采用任务轮循机制,GenericApp是属于其中的一个任务,在文件GenericApp.c中的任务初始化函数GenericApp_Init()中添加串口初始化代码,在GenericApp_ProcessEven()函数中添加无线串口收发事件Serial_RecEven和Serial_TranEven的处理函数。图8和图9是GenericApp_Init()函数流程图和GenericApp_ProcessEven()函数流程图。

h.jpg

i.jpg


图中初始化NV Flash是用以储存其他节点网络地址名字对应表。
当节点上电加入ZigBee网络后,便会执行GenericApp_Init()函数,初始化串口,并向网络中的其他节点以广播的方式发送其网络地址和名字。
当网络中的其他节点接收到数据时,便会触发接收数据事件,GenericApp_ProcessEven()函数判断是串口接收数据命令还是储存网络地址命令,如果是前者,便将数据写到串口;如果是后者则先判断是否来自于广播方式发送来的数据:若是则储存该网络地址和名字,并且以单播的方式回馈本节点的网络地址,保证网络中的各个节点都知道其他节点的地址和名字;若不是就储存该网络地址和名字,不用反馈本节点的网络地址和名字。
当GenericApp_ProcessEven()函数检测到Serial_TranEven事件发生时,便读串口并将数据按照约定的格式发送出去。

1 2 3 4

关键词:串口设计无线网络ZigBeeMesh基于

加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW

或用微信扫描左侧二维码

相关文章


用户评论

请文明上网,做现代文明人
验证码:
查看电脑版