找回密码
 立即注册

微信扫码登录

查看: 97|回复: 5

关于列程长按5s设备没有完全解绑问题

[复制链接]

18

主题

40

回帖

190

积分

荣耀黄金

积分
190
发表于 2024-12-13 13:42:23 | 显示全部楼层 |阅读模式
information
说明:   建议参照本版块置顶帖内容输入必要信息
芯片型号:
SDK及版本:
8258 Contact例程我长按按键sw1,5s秒后他与网关断开连接了,但是也不扫信道了,我加了一个SYSTEM_RESET();后复位它又马上加入了原先的网关(该网关已关闭接收设备)


void buttonKeepPressed(u8 btNum){
        if(btNum == VK_SW1){
                g_sensorAppCtx.state = APP_FACTORY_NEW_DOING;
                zb_factoryReset();
                SYSTEM_RESET();//lzw
        }else if(btNum == VK_SW2){

        }
}

18

主题

40

回帖

190

积分

荣耀黄金

积分
190
 楼主| 发表于 2024-12-13 14:10:39 | 显示全部楼层
补充一下,使用最原始的Contact例程也只能复位后在重新扫描信道,但它不会再重新去加入已关闭接收设备的网关,初步推测这是成功清除的入网信息的,但我的工程也是基于Contact例程来的,在factory reset这里并没有改动过什么

27

主题

166

回帖

571

积分

版主

积分
571
发表于 2024-12-13 17:45:33 | 显示全部楼层
打开这里的SYSTEM_RESET()就可以了。


void sampleSensor_leaveCnfHandler(nlme_leave_cnf_t *pLeaveCnf)
{
    if(pLeaveCnf->status == SUCCESS){
            //SYSTEM_RESET();
    }
}


18

主题

40

回帖

190

积分

荣耀黄金

积分
190
 楼主| 发表于 6 天前 | 显示全部楼层
TL_YB 发表于 2024-12-13 17:45
打开这里的SYSTEM_RESET()就可以了。

好的 感谢 但是我没看懂原因是因为什么

27

主题

166

回帖

571

积分

版主

积分
571
发表于 6 天前 | 显示全部楼层
调用zb_factoryReset()只是启动了一个离网事件(此时还没有真正离网),等协议栈底层离网完成(广播离网,擦除NV)后会触发leaveCnf离网确认回调事件通知到应用层。

18

主题

40

回帖

190

积分

荣耀黄金

积分
190
 楼主| 发表于 6 天前 | 显示全部楼层
TL_YB 发表于 2024-12-16 09:41
调用zb_factoryReset()只是启动了一个离网事件(此时还没有真正离网),等协议栈底层离网完成(广播离网, ...

噢噢噢 原来如此 感谢
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Telink forum ( 沪ICP备17008231号-1 )

GMT+8, 2024-12-22 00:55 , Processed in 0.085351 second(s), 21 queries .

Powered by Telink 隐私政策

泰凌微电子版权所有 © 。保留所有权利。 2024

快速回复 返回顶部 返回列表