- 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协议栈串口应用选编
ZigBee串口应用;
实验课题:串口数据收发基础实验
实验目的:利用串口收发数据
试验步骤:ZigBee协议栈中串口通信的配置使用一个结构体来实现,该结构体为hal_UARTCfg_t,
不必关心该结构体的具体定义形式,只需要对其功能有个了解,该结构体将串口初始化的参数集合在一起,
只需要初始化各个参数即可
最后使用HalUARTOpen()函数对串口进行初始化,该函数将halUARTCfg_t类型的结构体变量作为相关参数
回调函数:通过指针(函数地址)调用的函数。如果把函数的地址作为参数传递给另一个函数,当通过这个指针
调用它所指向的函数时,称为函数的回调。
;使用串口的基本步骤:
①初始化串口,包括设置波特率、中断等;
②向发送缓冲区发送数据或者从接收缓冲区读取数据。;串口工作原理剖析;ZigBee协议栈中提供的与串口操作有关的三个函数为?(可在zmain.c和hal_uart.c中查看相关函数)
uint8 HalUARTOpen(uint8 halUARTCfg_t *config);
uint16 HalUARTRead(uint8 port,uint8 *buf,uint16 len);
Uint16 HalUARTWrite(uint8 prot,uint *buf,uint16 len);
;Coordinator.c;const cId_t GenericApp_ClusterList[GENERICAPP_MAX_CLUSTERS] = { GENERICAPP_CLUSTERID };
const SimpleDescriptionFormat_t GenericApp_SimpleDesc =
{
GENERICAPP_ENDPOINT,
GENERICAPP_PROFID,
GENERICAPP_DEVICEID,
GENERICAPP_DEVICE_VERSION,
GENERICAPP_FLAGS,
GENERICAPP_MAX_CLUSTERS,
(cId_t *)GenericApp_ClusterList,
0,
(cId_t *)NULL
};
endPointDesc_t GenericApp_epDesc;
byte GenericApp_TaskID;
byte GenericApp_TransID;;/*
typedef struct
{
byte endPoint;
byte *task_id;
SimpleDescriptionFormat_t *simpleDesc;
afNetworkLatencyReq_t latencyReq;
}endPointDesc_t;
*/
void GenericApp_MessageMSGCB( afIncomingMSGPacket_t *pckt );
void GenericApp_SendTheMessage( void );
//UINT16 GenericApp_ProcessEvent( byte task_id, UINT16 events );
static void rxCB(uint8 port,uint8 event);;//任务初始化函数
void GenericApp_Init( byte task_id )
{
halUARTCfg_t 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( GenericApp_epDesc );
uartConfig.configured = TRUE;
uartConfig.baudRate = HAL_UART_BR_115200;
uartConfig.flowControl = FALSE;
uartConfig.callBackFunc = rxCB;
HalUARTOpen (0,uartConfig ); //串口初始化
};//事件处理函数
UINT16 GenericApp_Pro
文档评论(0)