无线点灯实验教学_第1页
无线点灯实验教学_第2页
无线点灯实验教学_第3页
无线点灯实验教学_第4页
无线点灯实验教学_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第14课无线点灯实验目录:实验内容硬件电路设计软件设计目录:实验内容硬件电路设计软件设计实验内容网关远程控制LED的亮暗。计算机通过串口,向网关发送指令,网关接收到指令之后,将消息广播到网络中节点通过接收到的网络广播信息,控制所在LED的亮暗通断。通信协议的制定1·电脑与网关间串口通信协议0x300x010x01节点一LED点亮0x300x010x00节点一LED熄灭0x300x020x01节点二LED点亮0x300x020x00节点二LED熄灭2·网络间通信协议0x800x010x01节点一LED点亮0x800x010x00节点一LED熄灭0x800x020x01节点二LED点亮0x800x020x00节点二LED熄灭目录:实验内容硬件电路设计软件设计硬件电路设计1·LED电路串口电路设计天线电路的设计作为无线通信中的关键部分,天线主要用来辐射或者接收电磁波,因此可以将天线看成是无线电磁波的输入口,是一种导行波与自由空间波之间的转换期间。对于发射机而言,高频电流经过馈线送到发射天线,发射天线将高频电流转换为电磁波,发射出去而对于接收机,将来自一定方向的电磁波转换为高频电流,通过馈线送回输入回路。PCB布局

对于Zigbee模块,要求天线的辐射方向为全向,因此,一般使用偶极子,单极子或者倒F天线。在设计的过程中可以将天线单独设计,也可以将天线和模块整体设计,一般主要从性能,尺寸和成本三方面考虑,在此我们使用的是倒F天线。目录:实验内容硬件电路设计软件设计网关编程串口端程序设计:

步骤: 1·串口初始化 2·登记任务号 3·串口收发串口初始化我们看到workspace上的MT层,发觉有很多基本函数,前面带MT。包括MT_UART.C,我们打开这个文件。看到MT_UartInit()函数,这里有一个串口初始化函数的,没错Z-stack上有一个MT层,用户可以选用MT层配置和调用其他驱动。进一步简化了操作流程。串口初始化进入voidSampleApp_Init(uint8task_id)函数,利用MT层的函数,进行串口初始化,加入MT_UartInit();并进入这个函数,可以看到:第8行:uartConfig.baudRate=MT_UART_DEFAULT_BAUDRATE;是配置波特率,我们gotodefinitionofMT_UART_DEFAULT_BAUDRATE,

可以看到:

#defineMT_UART_DEFAULT_BAUDRATEHAL_UART_BR_38400

默认的波特率是38400bps,现在我们修改成115200bps,修改如下:

#defineMT_UART_DEFAULT_BAUDRATEHAL_UART_BR_115200

第9行:uartConfig.flowControl=MT_UART_DEFAULT_OVERFLOW;

语句是配置流控的,我们进入定义可以看到:

#defineMT_UART_DEFAULT_OVERFLOWTRUE

默认是打开串口流控的,如果你是只连了TX/RX2根线的方式务必关流控,像我们功能底板一样。

#defineMT_UART_DEFAULT_OVERFLOWFALSE

注意:2根线的通讯连接务必关流控,不然是永远收发不了信息的。

第16~22行:这个是预编译,根据预先定义的ZTOOL或者ZAPP选择不同的数据处理函数。后面的P1和P2则是串口0和串口1。我们用ZTOOL,串口0。我们可以在option——C/C++的CompilerPreprocessor地

登记任务号在SampleApp_Init();刚添加的串口初始化语句下面加入语句:

//登记任务号意思就是把串口事件通过task_id登记在SampleApp_Init();里面。发送函数经过前面两个步骤,现在串口已经可以发送信息了。我们在刚刚添加初始化代码后面加入一条上电提示HelloWorld的语句。

HalUARTWrite(0,”HelloWorld\n”,12);(串口0,‘字符’,字符个数。)最后再开头加上#include“MT_UART.h”接收函数将接受数据的回调函数进行修改:接收函数串口数据接收处理通信模式配置网关向网络中广播数据SampleApp_BroadCast_DstAddr.addrMode=(afAddrMode_t)AddrBroadcast;SampleApp_BroadCast_DstAddr.endPoint=SAMPLEAPP_ENDPOINT;SampleApp_BroadCast_DstAddr.addr.shortAddr=0xffff;数据发送函数voidNode1_process(charstate){charbuffer_on[3]={0x80,0x01,0x01};charbuffer_off[3]={0x80,0x01,0x00};if(state==1){if(AF_DataRequest(&SampleApp_BroadCast_DstAddr,&SampleApp_epDesc,SAMPLEAPP_Node1_CLUSTERID,3,(uint8*)&buffer_on,&SampleApp_TransID,AF_DISCV_ROUTE,AF_DEFAULT_RADIUS)==afStatus_SUCCESS){}else{//Erroroccurredinrequesttosend.}}elseif(state==0){if(AF_DataRequest(&SampleApp_BroadCast_DstAddr,&SampleApp_epDesc,SAMPLEAPP_Node1_CLUSTERID,3,(uint8*)&buffer_off,&SampleApp_TransID,AF_DISCV_ROUTE,AF_DEFAULT_RADIUS)==afStatus_SUCCESS){}else{//Erroroccurredinrequesttosend.}}}voidNode2_process(charstate){charbuffer_on[3]={0x80,0x02,0x01};charbuffer_off[3]={0x80,0x02,0x00};if(state==1){if(AF_DataRequest(&SampleApp_BroadCast_DstAddr,&SampleApp_epDesc,SAMPLEAPP_Node2_CLUSTERID,3,(uint8*)&buffer_on,&SampleApp_TransID,AF_DISCV_ROUTE,AF_DEFAULT_RADIUS)==afStatus_SUCCESS){}else{//Erroroccurredinrequesttosend.}}elseif(state==0){if(AF_DataRequest(&SampleApp_BroadCast_DstAddr,&SampleApp_epDesc,SAMPLEAPP_Node2_CLUSTERID,3,(uint8*)&buffer_off,&SampleApp_TransID,AF_DISCV_ROUTE,AF_DEFAULT_RADIUS)==afStatus_SUCCESS){}else

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论