SampleApp_Init函数

来源:互联网 发布:苏联工业知乎 编辑:程序博客网 时间:2024/06/09 03:46
该函数主要完成对广播方式和其相应的广播地址的设置,串ID对提高整个协议的效率有了很大帮助。这个函数只是为初始化APP函数所用的,
void SampleApp_Init( uint8 task_id ){  SampleApp_TaskID = task_id;     //APP任务ID  SampleApp_NwkState = DEV_INIT;  //节点所处网络结构  SampleApp_TransID = 0;   /***********串口初始化************/  MT_UartInit();//初始化  MT_UartRegisterTaskID(task_id);//登记任务号  HalUARTWrite(0,"Hello World\n",12);    // Device hardware initialization can be added here or in main() (Zmain.c).  // If the hardware is application specific - add it here.  // If the hardware is other parts of the device add it in main(). #if defined ( BUILD_ALL_DEVICES )  // The "Demo" target is setup to have BUILD_ALL_DEVICES and HOLD_AUTO_START  // We are looking at a jumper (defined in SampleAppHw.c) to be jumpered  // together - if they are - we will start up a coordinator. Otherwise,  // the device will start as a router.  if ( readCoordinatorJumper() )    zgDeviceLogicalType = ZG_DEVICETYPE_COORDINATOR;  else    zgDeviceLogicalType = ZG_DEVICETYPE_ROUTER;#endif // BUILD_ALL_DEVICES#if defined ( HOLD_AUTO_START )  // HOLD_AUTO_START is a compile option that will surpress ZDApp  //  from starting the device and wait for the application to  //  start the device.  ZDOInitDevice(0);#endif  // Setup for the periodic message's destination address  // Broadcast to everyone  SampleApp_Periodic_DstAddr.addrMode = (afAddrMode_t)AddrBroadcast;    //设置广播通信目的地址  广播给网络中的每个节点  SampleApp_Periodic_DstAddr.endPoint = SAMPLEAPP_ENDPOINT;             //设置端点信息  SampleApp_Periodic_DstAddr.addr.shortAddr = 0xFFFF;                   //设置广播信息的目的地址的短地址   // Setup for the flash command's destination address - Group 1  SampleApp_Flash_DstAddr.addrMode = (afAddrMode_t)afAddrGroup;         //设置单播信息  SampleApp_Flash_DstAddr.endPoint = SAMPLEAPP_ENDPOINT;  SampleApp_Flash_DstAddr.addr.shortAddr = SAMPLEAPP_FLASH_GROUP;      // 网蜂点对点通讯定义  Point_To_Point_DstAddr.addrMode = (afAddrMode_t)Addr16Bit; //点播  Point_To_Point_DstAddr.endPoint = SAMPLEAPP_ENDPOINT;  Point_To_Point_DstAddr.addr.shortAddr = 0x0000;//发给协调器    // Fill out the endpoint description.  SampleApp_epDesc.endPoint = SAMPLEAPP_ENDPOINT;  SampleApp_epDesc.task_id = &SampleApp_TaskID;  SampleApp_epDesc.simpleDesc            = (SimpleDescriptionFormat_t *)&SampleApp_SimpleDesc;  SampleApp_epDesc.latencyReq = noLatencyReqs;  // Register the endpoint description with the AF              //注册  afRegister( &SampleApp_epDesc );  // Register for all key events - This app will handle all key events  RegisterForKeys( SampleApp_TaskID );                          //注册按键信息  // By default, all devices start out in Group 1  SampleApp_Group.ID = 0x0001;  osal_memcpy( SampleApp_Group.name, "Group 1", 7  );  aps_AddGroup( SAMPLEAPP_ENDPOINT, &SampleApp_Group );#if defined ( LCD_SUPPORTED )  HalLcdWriteString( "SampleApp", HAL_LCD_LINE_1 );#endif}

原创粉丝点击