欢迎来到天天文库
浏览记录
ID:38863523
大小:1.19 MB
页数:32页
时间:2019-06-20
《ZigBee协议栈串口应用》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、ZigBee串口应用一、串口收发基础实验二、ZigBee协议栈串口应用扩展实验实验课题:串口数据收发基础实验实验目的:利用串口收发数据试验步骤:ZigBee协议栈中串口通信的配置使用一个结构体来实现,该结构体为hal_UARTCfg_t,不必关心该结构体的具体定义形式,只需要对其功能有个了解,该结构体将串口初始化的参数集合在一起,只需要初始化各个参数即可最后使用HalUARTOpen()函数对串口进行初始化,该函数将halUARTCfg_t类型的结构体变量作为相关参数回调函数:通过指针(函数地址)调用的函数。如果把函数的地址作为参数传递给另一个函数,当通过这个指
2、针调用它所指向的函数时,称为函数的回调。一、串口收发基础实验使用串口的基本步骤:①初始化串口,包括设置波特率、中断等;②向发送缓冲区发送数据或者从接收缓冲区读取数据。串口工作原理剖析在ZigBee协议栈中,halUARTCfg_t结构体是如何定义的;串口是如何初始化的;发送给串口的数据时如何接受的;串口是如何向PC机发送数据的。这些问题涉及如下三个函数……ZigBee协议栈中提供的与串口操作有关的三个函数为(可在zmain.c和hal_uart.c中查看相关函数)uint8HalUARTOpen(uint8halUARTCfg_t*config);uint16
3、HalUARTRead(uint8port,uint8*buf,uint16len);Uint16HalUARTWrite(uint8prot,uint*buf,uint16len);Coordinator.c#include"OSAL.h"#include"AF.h"#include"ZDApp.h"#include"ZDObject.h"#include"ZDProfile.h"#include#include"Coordinator.h"#include"DebugTrace.h"#if!defined(WIN32)#include"O
4、nBoard.h"#endif#include"hal_lcd.h"#include"hal_led.h"#include"hal_key.h"#include"hal_uart.h"//包含头文件constcId_tGenericApp_ClusterList[GENERICAPP_MAX_CLUSTERS]={GENERICAPP_CLUSTERID};constSimpleDescriptionFormat_tGenericApp_SimpleDesc={GENERICAPP_ENDPOINT,GENERICAPP_PROFID,GENERICAPP_DE
5、VICEID,GENERICAPP_DEVICE_VERSION,GENERICAPP_FLAGS,GENERICAPP_MAX_CLUSTERS,(cId_t*)GenericApp_ClusterList,0,(cId_t*)NULL};endPointDesc_tGenericApp_epDesc;byteGenericApp_TaskID;byteGenericApp_TransID;/*typedefstruct{byteendPoint;byte*task_id;SimpleDescriptionFormat_t*simpleDesc;afNetwo
6、rkLatencyReq_tlatencyReq;}endPointDesc_t;*/voidGenericApp_MessageMSGCB(afIncomingMSGPacket_t*pckt);voidGenericApp_SendTheMessage(void);//UINT16GenericApp_ProcessEvent(bytetask_id,UINT16events);staticvoidrxCB(uint8port,uint8event);//任务初始化函数voidGenericApp_Init(bytetask_id){halUARTCfg_t
7、uartConfig;GenericApp_TaskID=task_id;GenericApp_TransID=0;GenericApp_epDesc.endPoint=GENERICAPP_ENDPOINT;GenericApp_epDesc.task_id=&GenericApp_TaskID;GenericApp_epDesc.simpleDesc=(SimpleDescriptionFormat_t*)&GenericApp_SimpleDesc;GenericApp_epDesc.latencyReq=noLatencyReqs;afRegister(
8、&GenericApp_
此文档下载收益归作者所有