Topic

FAQ
Login Register
休眠唤醒后全局变量的值是初始化值
Nov 10, 2022 09:37

/

A

/A


你好:   


我在用芯片型号是8258的开发板做zigbee 3.0协议终端设备开发,用的switch例程

_attribute_data_retention_ u8 firstGetPowerSendNetworkState = 1;这样定义一个全局变量,然后在void app_task(void)函数里面判断是否等于1,如果等于1就赋值为0,再串口打印99;

但是我发现每次通过引脚拉低唤醒后串口都会打印99,

我应该怎么做,全局变量赋值后再次唤醒还能保持为原来的值,而不是初始化的值呀?


TL_Soyo Nov 10, 2022 10:10
0
/A

你好,

  zigbee的休眠设备默认32k都是retention的,直接正常不加前缀定义就行,也可以检查下协议栈是否为最新的。

5 replies
TL_Soyo Nov 10, 2022 10:10
0
/A

你好,

  zigbee的休眠设备默认32k都是retention的,直接正常不加前缀定义就行,也可以检查下协议栈是否为最新的。

TL_Soyo Nov 10, 2022 11:48
0
/A

我测试wiki下载的V3.6.8.2switch工程是正常的呢,你是否修改了什么呢。


TL_Soyo Nov 11, 2022 17:21
0
/A

这是因为关闭找网函数后,协议栈没有定时唤醒的任务了,默认进入深度休眠了,深度休眠不保存数据的,可以改下drv_pm_lowPowerEnter()休眠配置。