欢迎来到天天文库
浏览记录
ID:40568865
大小:133.69 KB
页数:13页
时间:2019-08-04
《SimpleApp程序中的部分代码说明》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、SimpleApp程序中的部分代码说明 在TI给的例子中,有两个大部分是用户必须编写,一个就是初始化函数,一个就是不同事件的处理函数,下面是SampleApp程序中的远程开头控制的初始化函数。voidSAPI_Init(bytetask_id){uint8startOptions;//初始化任务ID,其中task_id由操作系统任务函数osalInitTasks(void)中的SAPI_Init(taskID);初始化 sapi_TaskID=task_id; //初始化绑定标志位,默认不
2、允许绑定 sapi_bindInProgress=0xffff; //初始化端点描述符,分别是:端点任务ID号,端点号,简单描述符和延时请求,其中简单描述符有用户自己定义。 sapi_epDesc.endPoint=zb_SimpleDesc.EndPoint; sapi_epDesc.task_id=&sapi_TaskID; sapi_epDesc.simpleDesc=(SimpleDescriptionFormat_t*)&zb_SimpleDesc; sapi_epDesc.laten
3、cyReq=noLatencyReqs; //向应用AF层注册端点描述符 //Registertheendpoint/interfacedescriptionwiththeAF afRegister(&sapi_epDesc); //关闭描述符匹配响应请求默认是关闭的在zb_AllowBind()函数中打开 //Turnoffmatchdescriptorresponsebydefault afSetMatch(sapi_epDesc.simpleDesc->EndPoint,FALSE); /
4、/RegistercallbackevetnsfromtheZDApp //注册两个响应事件,也就是网络地址响应,描述符匹配响应 ZDO_RegisterForZDOMsg(sapi_TaskID,NWK_addr_rsp); ZDO_RegisterForZDOMsg(sapi_TaskID,Match_Desc_rsp);#if(definedHAL_KEY)&&(HAL_KEY==TRUE) //RegisterforHALevents注册按键事件 RegisterForKeys(sapi
5、_TaskID); if(HalKeyRead()==HAL_KEY_SW_5) {//IfSW5ispressedandheldwhilepowerup,forceauto-startandnv-restoreoffandreset//关闭自动启动设备 startOptions=ZCD_STARTOPT_CLEAR_STATE
6、ZCD_STARTOPT_CLEAR_CONFIG; zb_WriteConfiguration(ZCD_NV_STARTUP_OPTION,sizeof(ui
7、nt8),&startOptions); zb_SystemReset(); }#endif//HAL_KEY //Setaneventtostarttheapplication设置进入事件,启动应用 osal_set_event(task_id,ZB_ENTRY_EVENT);}下面是事件处理函数UINT16SAPI_ProcessEvent(bytetask_id,UINT16events){ osal_event_hdr_t*pMsg; afIncomingMSGPacket_t*p
8、MSGpkt; afDataConfirm_t*pDataConfirm; if(events&SYS_EVENT_MSG)//强制事件,也是系统定义好的事件,下面有很多子事件 { pMsg=(osal_event_hdr_t*)osal_msg_receive(task_id); while(pMsg) { switch(pMsg->event) {//消息注册并被接收后(OTA),将作为ZDO_CB_MSG(OSALMsg)发送到应用/任务 caseZ
9、DO_CB_MSG: SAPI_ProcessZDOMsgs((zdoIncomingMsg_t*)pMsg); break; caseAF_DATA_CONFIRM_CMD: //Thismessageisreceivedasaconfirmationofadatapacketsent.ThestatusisofZStatus_ttype[definedinZComDef.h] //Themessagefieldsar
此文档下载收益归作者所有