《5-2任务2ZigBee串口通信.ppt》由会员分享,可在线阅读,更多相关《5-2任务2ZigBee串口通信.ppt(13页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、任务2 ZigBee协议栈串口应用 ZigBee协议栈串口01任务:串口通信02目 录1、ZigBee协议栈中串口应用串口是开发板和用户电脑交互的一种工具,正确地使用串口对于串口是开发板和用户电脑交互的一种工具,正确地使用串口对于ZigBeeZigBee无线网络的学习具有较大的促进作用,使用串口的基本步无线网络的学习具有较大的促进作用,使用串口的基本步骤:骤:初始化串口,包括设置波特率、流控、中断等;初始化串口,包括设置波特率、流控、中断等;打开串口;打开串口;串口读(从接收缓冲区读取数据)和串口写(向发送缓冲区发串口读(从接收缓冲区读取数据)和串口写(向发送缓冲区发送数据)送数据)v上述方法
2、是使用串口的常用方法,但是由于上述方法是使用串口的常用方法,但是由于ZigBee协议栈协议栈的存在,使得串口的使用略有不同,在的存在,使得串口的使用略有不同,在ZigBee协议栈中己协议栈中己经对串口初始化所需要的函数进行了实现,用户只需要传递经对串口初始化所需要的函数进行了实现,用户只需要传递几个参数就可以使用串口,此外,几个参数就可以使用串口,此外,ZigBee协议栈还实现了协议栈还实现了串口的读取函数和写入函数。串口的读取函数和写入函数。v因此,用户在使用串口时,只需要掌握因此,用户在使用串口时,只需要掌握ZigBee协议栈提供协议栈提供的串口操作相关的三个函数即可。的串口操作相关的三个
3、函数即可。1、ZigBee协议栈中串口应用vZigBee协议栈中提供的与串口操作有关的三个函数为协议栈中提供的与串口操作有关的三个函数为:uint8HalUARTOpen(uint8port,halUARTCfg_t*config)uint8port/端口号halUARTCfg_t*config/串口信息结构体uint16HalUARTWrite(uint8port,uint8*buf,uint16len)uint8*buf/输出的字符串uint16len/字符串长度uint16HalUARTRead(uint8port,uint8*buf,uint16len)uint8*buf/读取的字符串
4、缓冲区uint16len/要读取的长度1、ZigBee协议栈中串口应用任务:串口通信v本任务实现功能:协调器建立本任务实现功能:协调器建立ZigBee无线网络,终端节点自动无线网络,终端节点自动加入该网络中加入该网络中,然后终端节点周期性地向协调器发送字符串然后终端节点周期性地向协调器发送字符串“EndDevice”,协调器收到该字符串后,协调器收到该字符串后,通过串口将其输出到用通过串口将其输出到用户户PC机,实验效果图如图机,实验效果图如图5-16所示。所示。v串口通信协调器串口通信协调器和和终端节点流程图如图所示。终端节点流程图如图所示。串口通信协调器流程图串口通信终端节点流程图任务:串
5、口通信协调器端:协调器端:修改修改GenericApp.c 文件,文件,(新增加的部分以(新增加的部分以红色红色字体显示字体显示)。void GenericApp_Init(byte task_id)GenericApp_TaskID =task_id;GenericApp_TransID=0;GenericApp_epDesc.endPoint=GENERICAPP_ENDPOINT;GenericApp_epDesc.task_id=&GenericApp_TaskID;GenericApp_epDesc.simpleDesc=(SimpleDescriptionFormat_t*)&Ge
6、nericApp_SimpleDesc;GenericApp_epDesc.latencyReq=noLatencyReqs;afRegister(&GenericApp_epDesc);/通过通过AF注册端点描述符注册端点描述符 halUARTCfg_t uartConfig;/定义一个定义一个halUARTCfg_t 类型的结构体变量类型的结构体变量 uartConfig.configured=TRUE;uartConfig.baudRate=HAL_UART_BR_115200;/波特率波特率 uartConfig.flowControl=FALSE;uartConfig.callBac
7、kFunc=NULL;HalUARTOpen(0,&uartConfig);/打开打开串口串口任务实施协调器端,协调器端,消息处理函数消息处理函数:void GenericApp_MessageMSGCB(afIncomingMSGPacket_t*pkt)switch(pkt-clusterId)case GENERICAPP_CLUSTERID:HalUARTWrite(0,Rx:,3);/提示接收到数据提示接收到数据/串口输出接收到的数据串口输出接收到的数据HalUARTWrite(0,pkt-cmd.Data,pkt-cmd.DataLength);HalUARTWrite(0,n,1
8、);/回车换行回车换行 break;default:break;任务实施v使用串口需要预编译,可以在使用串口需要预编译,可以在optionC/C+Compiler的的Preprocessor地方加入,如图地方加入,如图5-19所示,图中的所示,图中的ZTOOL_P1代代表串口表串口0,若用串口,若用串口1,则定义为,则定义为ZTOOL_P2。任务实施操作步骤(1)选择)选择CoodinatorEB,编译后下载到开发板,编译后下载到开发板1,做为协,做为协调器,通过调器,通过USB线跟电脑连接。线跟电脑连接。(2)选择)选择EndDeviceEB,编译后下载到开发板,编译后下载到开发板2,做为终
9、端,做为终端设备,发送数据给协调器。设备,发送数据给协调器。(3)先给协调器上电,再给终端设备上电,打开串口调试助)先给协调器上电,再给终端设备上电,打开串口调试助手,波特率设为手,波特率设为115200,协调器间隔,协调器间隔5s会收到终端发过来的会收到终端发过来的数据,串口输出如图数据,串口输出如图5-20所示。所示。(4)关闭终端设备电源,看看电脑是否还能收到数据?自行)关闭终端设备电源,看看电脑是否还能收到数据?自行验证一下。验证一下。实验现象v终端连接到网络后,向协调器发送字符串终端连接到网络后,向协调器发送字符串“EndDevice”;v协调器收到终端发回的数据后,通过串口输出到电
10、脑。协调器收到终端发回的数据后,通过串口输出到电脑。感谢观看 THANK YOU Please replace text,click add relevant headline,modify the text content,also can copy your content to this directly.Please Please replace text,click add relevant headline,modify the text content,also can copy your content to this directly.Please replace text,
11、click add relevant headline,modify the text content,also can copy your content to this directly.Please replace replace text,click add relevant headline,modify the text content,also can copy your content to this directly.Please replace text,click add relevant headline,modify the text content,also can copy your content to this directly.text,click add relevant headline,modify the text content,also can copy your content to this directly.
限制150内