情况下过程教育

zigbee网络建立过程以及ZDO STATE CHANGE在什么情况下被触发

提问者:用户YXwHqnkW 发布时间: 2024-11-19 06:54:18 阅读时间: 2分钟

最佳答案

ZDO_STATE_CHANGE 只有当设备角色发生转变后才会触发,才能被告诉COOR你的网络中有一个设备变了角色。zigbee网络启动流程 ---- 协调器main()->osal_init_system()->osalInitTasks()->ZDApp_Init()进入ZDApp_Init()函数:void ZDApp_Init( uint8 task_id ){ZDAppTaskID = task_id;// Initialize the ZDO global device short address storageZDAppNwkAddr.addrMode = Addr16Bit;ZDAppNwkAddr.addr.shortAddr = INVALID_NODE_ADDR;(void)NLME_GetExtAddr(); // Load the saveExtAddr pointer.// Check for manual "Hold Auto Start"ZDAppCheckForHoldKey();// Initialize ZDO items and setup the device - type of device to create.ZDO_Init();// Register the endpoint description with the AF// This task doesn't have a Simple description, but we still need// to register the endpoint.afRegister( (endPointDesc_t *)&ZDApp_epDesc );#if defined( ZDO_USERDESC_RESPONSE )ZDApp_InitUserDesc();#endif // ZDO_USERDESC_RESPONSE// Start the device?if ( devState != DEV_HOLD ){ZDOInitDevice( 0 );}else{// Blink LED to indicate HOLD_STARTHalLedBlink ( HAL_LED_4, 0, 50, 500 );}ZDApp_RegisterCBs();}协调器没有编译HOLD_AUTO_START,也没有手工设置SW_1,初始化devState = DEV_INIT(参见基本问题说明3).因此直接在ZDApp_Init()中进入ZDOInitDevice( 0 )开启设备.uint8 ZDOInitDevice( uint16 startDelay ){uint8 networkStateNV = ZDO_INITDEV_NEW_NETWORK_STATE;uint16 extendedDelay = 0;if ( devState == DEV_HOLD ){// Initialize the RAM items table, in case an NV item has been updated.zgInitItems( FALSE );}ZDConfig_InitDescriptors();//devtag.071807.todo - fix this temporary solution_NIB.CapabilityFlags = ZDO_Config_Node_Descriptor.CapabilityFlags;devState = DEV_INIT; // Remove the Hold state// Initialize leave control logic 函数读取NV项目ZCD_NV_LEAVE_CTRL的值,ZDApp_LeaveCtrl指向这个值ZDApp_LeaveCtrlInit();// Check leave control reset settingsZDApp_LeaveCtrlStartup( &devState, &startDelay );// Leave may make the hold state come back以上两个函数设置了对设备离开时的控制,如果有延时则延时,没有则把设备状态设为DEV_HOLDif ( devState == DEV_HOLD ){// Set the NV startup option to force a "new" join.zgWriteStartupOptions( ZG_STARTUP_SET, ZCD_STARTOPT_DEFAULT_NETWORK_STATE );// Notify the applicationsosal_set_event( ZDAppTaskID, ZDO_STATE_CHANGE_EVT );return ( ZDO_INITDEV_LEAVE_NOT_STARTED ); // Don't join - (one time).}#if defined ( NV_RESTORE )// Get Keypad directly to see if a reset nv is needed.// Hold down the SW_BYPASS_NV key (defined in OnBoard.h)// while booting to skip past NV Restore.if ( HalKeyRead() == SW_BYPASS_NV )networkStateNV = ZDO_INITDEV_NEW_NETWORK_STATE;else{// Determine if NV should be restorednetworkStateNV = ZDApp_ReadNetworkRestoreState();}if ( networkStateNV == ZDO_INITDEV_RESTORED_NETWORK_STATE ){networkStateNV = ZDApp_RestoreNetworkState();}else{// Wipe out the network state in NVNLME_InitNV();NLME_SetDefaultNV();// clear NWK key valuesZDSecMgrClearNVKeyValues();}#endifif ( networkStateNV == ZDO_INITDEV_NEW_NETWORK_STATE ){ZDAppDetermineDeviceType();// Only delay if joining network - not restoring network stateextendedDelay = (uint16)((NWK_START_DELAY + startDelay)+ (osal_rand() & EXTENDED_JOINING_RANDOM_MASK));}// Initialize the security for type of deviceZDApp_SecInit( networkStateNV );// Trigger the network startZDApp_NetworkInit( extendedDelay );// set broadcast address mask to support broadcast filteringNLME_SetBroadcastFilter( ZDO_Config_Node_Descriptor.CapabilityFlags );return ( networkStateNV );}注:(1)自启动模式下SampleApp的终端和路由器总体流程基本一致、(2)以SampleApp为例,ZDO_StartDevice()函数的两个重要参数比较:终端:ZDO_Config_Node_Descriptor.LogicalType = NODETYPE_DEVICEdevStartMode = MODE_JOIN路由器:ZDO_Config_Node_Descriptor.LogicalType = NODETYPE_ROUTERdevStartMode = MODE_JOIN协调器:ZDO_Config_Node_Descriptor.LogicalType = NODETYPE_COORDINATORdevStartMode = MODE_HARD。

大家都在看
发布时间:2024-11-20
教师空编就是单位缺少在编人员。目前事业单位都是实行定编定岗定责工作制,上级人事部门对一个单位按规模大小确定在编人员总数,单位用人只能按下编总数聘任人员,不得超出,但有时人员流出较多就造成缺编,缺的人数叫空编,这时单位就要招聘人员补空。。
发布时间:2024-11-19
妈妈的哥哥,可以称呼为大舅 ,妈妈的弟弟 ,可以称呼为小舅 ,舅妈这一称呼 ,是指舅舅的媳妇 。不管是大舅还是小舅 的媳妇 ,都统称为舅妈 。舅妈这一称呼 ,只有在舅舅正式领取结婚证 ,并在举办结婚的场合 的情况下,外甥 和外甥女对舅妈的正。
发布时间:2024-11-19
所谓班轮(liner)是指按照预定的时间,在固定的航线上,以既定的港口顺序,经常地从事航线上各港口间的往返载货的船舶。 班轮运输的的情况:(1)一般杂货和不足整船的小额贸易货物的运输。班轮只要有舱位,不论数量大小、挂港多少、直运或转运都可接。
发布时间:2024-11-19
学生在需要向他人收取费用,例如分摊餐费、合租房租费用等情况下才会申请收款码。通过收款码,学生可以方便地向他人收款,避免现金交易的不便和风险。此外,也可以帮助学生在活动筹款或者小规模交易中便捷地收取款项,简化了支付流程。总的来说,学生在需要收。
发布时间:2024-11-19
1、凡受到剥夺政治权利或者因故意犯罪受到有期徒刑以上处罚者,不能取得教师资格。已经取得教师资格者,丧失教师资格。丧失教师资格者,由其工作单位或者户籍所在地的县级以上教育行政部按照教师资格认定权限会同原发证机关办理注销手续,收缴证书,并书面通。
发布时间:2024-11-19
如果一个初中生女生拉了男生的手,有两种情况1 他们是实实在在的好朋友,有的从小一起长大,不分什么男女,她拉男孩的手,只是一个好朋友而已2 她喜欢这个男孩子,初中生还小,女孩对男孩有好感,只有拉拉手,有些皮肤上的接触,已经很知足了。。
发布时间:2024-11-21
教学目标1、使学生经历探索加法交换律和结合律的过程,理解并掌握加法交换律和结合律,初步感知加法运算律的价值,发展应用意识。2、使学生在用符号、字母表示自己发现的运算律的过程中,初步发展符号感,初步培养归纳、推理的能力,逐步提高抽象思维能力。。
发布时间:2024-11-21
现在生产牛奶的过程就是这样一个过程,就是奶牛生下来牛犊以后就生产牛奶,它就开始产奶了,产奶的过程就是通过机械化的挤奶过程,挤出的牛奶马上通过管道就进入了0到6度储存冷藏的过程,因为牛奶挤出来的温度在36度左右。冷却到6度以后,我们工厂的保温。
发布时间:2024-11-19
早上,我刚把窗帘拉开,哇噻!外面是一个银装素裹的世界,所有的东西都披上了一件雪大衣。我被这美丽的景象迷住了,想起昨夜那风雪交加的夜晚,我害怕的钻进了被窝,真有点害羞。我二话不说,赶紧把爸爸妈妈叫醒,嚷着要去堆雪人。妈妈爸爸看到外面这么厚的雪。
发布时间:2024-10-29 22:19
自发性蛛网膜下腔出血是一种对老年人的健康威胁非常的严重,因为这是一种心血管疾病,发生在老年人的头部,几乎可以和中风相比。自发性蛛网膜下腔出血对脑血管的破坏非。
发布时间:2024-10-29 17:52
网易游戏测试岗位是非常有前途的。因为在互联网行业来说测试岗位是非常稀缺的,测试的经验越丰富那么在测试行业越受欢迎,测试与开发不同开发是年龄越大越不吃香而测试是年龄越大越吃香,因为你积累的测试经验越多对软件的质量也是越有保证的,而且你也有过。
发布时间:2024-10-30 07:54
回阳救急汤大家了解吗,它是一种中药方剂,能够让我们的身体状况得到改善,大家应该都知道回阳救急汤功效是挺多的,对于具体的回阳救急汤的作用,我们来看看下面的介绍。
发布时间:2024-10-30 02:06
一般情况下,女性排卵是一项正常的生理现象,而卵子的正常排出是孕育新生命的重要因素之一,同时卵泡的正常发育直接决定了受精卵的质量。所以当女性出现排卵异常时,应。
发布时间:2024-10-30 20:18
在小的时候,我最爱吃的水果就是菠萝了,可是,自从家里种了菠萝后,就再也不喜欢吃了,只是偶尔吃一点而已,身边的朋友告诉我说,吃菠萝舌头麻,我觉得有点奇怪,因为。
发布时间:2024-11-01 15:36
对很多女性来说,在生完孩子以后往往出现皮肤暗黄的症状,这主要在于身体内分泌调理不当,这时候会出现代谢不良,会引起贫血,身体免疫力下降等等,这时候一定要注重饮。
发布时间:2024-10-29 15:23
是的,炉石传说中的“旅店”是玩家可以绑定的地方。在游戏中,玩家可以选择一个旅店作为自己的地点,每当玩家使用炉石回到这个地点时,都能够恢复所有的生命值。同时,玩家可以在旅店中与其他玩家进行对战或者进行一些游戏相关的活动。因此,可以说旅店是炉石。
发布时间:2024-11-05 00:51
1.梦见领养小女孩办手续的解梦梦见领养小女孩办手续,预示近期你会逐渐体会到生活的不易,也能体会到赚钱的不易,你会改变之前挥霍无度的习惯,变得节俭起来。女人梦见领养小女孩办手续,暗示梦者可能已经意识到与朋友之间处于一种缺乏沟通的关系。男人梦见。
发布时间:2024-11-02 15:30
婴儿在刚出生的时候,可以说对于任何食物都是很懵懂的,也不会认人。但是随着宝宝逐渐发育,智力也会因此而发育起来。一般情况下,宝宝在三个月的时候就可以认出来妈妈。
发布时间:2024-10-30 13:51
随着生活和工作压力的加剧,现在越来越多人出现亚健康的问题,容易出现心慌、胸闷、气急气粗的症状,有时候心率过快,当心率恢复正常的时候,这些症状又会消失,这就是。