- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
ZigBee无线传感网技术ZigBeeWirelessSensorNetworks江苏旅游职业学院主讲人:戚英杰串口收发字符实验
串口收发字符实验实验环境硬件:FT-CC2530节点板*2,协调器底板*1,USB转RS232通讯线,交叉串口线,CCDebugger,USB方口线,PC机,DC5V电源软件:Windows7及以上系统,IAR-80518.10集成开发环境,串口调试工具。
串口收发字符实验实验内容串口是开发板和用户电脑交互的一种工具,正确地使用串口对于ZigBee无线网络的学习具有较大的促进作用,使用串口的基本步骤:初始化串口,包括设置波特率,中断等;向发送缓冲区发送数据或者从接收缓冲区读取数据。上述方法是使用串口的常用方法,但是由于ZigBee协议栈的存在,使得串口的使用略有不同,在ZigBee协议栈中已经对串口初始化所需要的函数进行了实现,用户只需要传递几个参数就可以使用串口,此外,ZigBee协议栈还实现了串口的读取函数与写入函数。因此,用户在使用串口时,只需要掌握ZigBee协议栈提供的串口操作相关的三个函数即可。ZigBee协议栈中提供的与串口操作相关的三个函数为:
串口收发字符实验ZigBee协议栈中串口通信的配置使用一个结构体来实现,该结构体为hal_UARTCfg_t,不必关心该结构体的具体定义形式,只需要对其功能有个了解,该结构体将串口初始化的参数集合在一起,只需要初始化各个参数即可最后使用HalUARTOpen()函数对串口进行初始化。
串口收发字符实验在本节实验中设计为先启动协调器节点,协调器节点上电后进行组网操作,再启动路由节点或者终端节点,路由节点或者终端节点上电后进行入网操作,成功入网后,通过串口向路由节点或者终端节点发送开关LED的命令,该命令通过无线ZigBee网络发送给协调器,协调器接收到该命令对节点上的LED实行相应的操作。如图是本实验的数据流图:下面结合本实验的实验原理以及实验内容的设计,分别对终端节点、路由节点和协调器节点的源关键源程序进行解析。
串口收发字符实验1.终端节点,路由节点根据本节内容的设计,终端节点、路由节点加入zigbee网络后,每隔一段时间上报自己的网络信息,因此终端节点和路由节点的任务事件都一样。根据Z-Stack协议栈的工作流程,在程序源代码SampleApp.c中可以看到Z-Stack协议栈成功启动后(协议栈启动后会调用SampleApp_ProcessEvent函数)。程序中SampleApp_ProcessEvent事件代码如图:
串口收发字符实验通过上述源码可以看到,当处理SampleApp_ProcessEvent事件时,调用SampleApp_SerialCMD()函数实现了将串口接收到的数据发送出去的功能,下面是SampleApp_SerialCMD()的源码解析过程。
串口收发字符实验2.协调器协调器的任务就是收到终端节点、路由节点发送的数据报信息后通过串口发送PC机。并根据接收到的数据控制LED,该函数的内容如下程序所示:
串口收发字符实验通过上述源码可以看到,当处理SampleApp_ProcessEvent事件时,调用SampleApp_SerialCMD()函数实现了将串口接收到的数据发送出去的功能,下面是SampleApp_SerialCMD()的源码解析过程。
串口收发字符实验3.MT-UART.C中对串口的任务进行定义
串口收发字符实验由于出厂源码zigbee网络PANID均设置为0x0015,为防止各个域网互相干扰,每个实验平台可修改PANID,修改工程内文件:Tools-f8wConfig.cfg,将PANID修改为个人学号的后四位(范围0x0001~0xFFFE)。然后将协调器,路由器,终端节点分别下载到模块里,打开串口助手波特率38400,用过串口发送十六进制(0000)(0001)(0002)(0003),可以看到串口打印信息。
原创力文档


文档评论(0)