你好:
我在用芯片型号是8258的开发板做zigbee 3.0协议终端设备开发,用的switch例程
_attribute_data_retention_ u8 firstGetPowerSendNetworkState = 1;这样定义一个全局变量,然后在void app_task(void)函数里面判断是否等于1,如果等于1就赋值为0,再串口打印99;
但是我发现每次通过引脚拉低唤醒后串口都会打印99,
我应该怎么做,全局变量赋值后再次唤醒还能保持为原来的值,而不是初始化的值呀?
No related topics |
终端设备不发送data request |
有关信道问题 |
通过寄存器地址0x73切换不了外部32k晶振 |
休眠唤醒不了 |
怎么获取更精确的时间 |
怎么获取通道 |
丢失网关后终端设备的功耗降低方法 |
你好,
zigbee的休眠设备默认32k都是retention的,直接正常不加前缀定义就行,也可以检查下协议栈是否为最新的。
协议栈版本为SDK V3.6.8.2,刚开始我直接定义的全局变量,发现不行,才加了前缀
@Soyo
你好,
zigbee的休眠设备默认32k都是retention的,直接正常不加前缀定义就行,也可以检查下协议栈是否为最新的。
协议栈版本为SDK V3.6.8.2,刚开始我直接定义的全局变量,发现不行,才加了前缀
@Soyo
我测试wiki下载的V3.6.8.2switch工程是正常的呢,你是否修改了什么呢。
这是因为不停的加入网络唤醒后给变量赋的值才会保存,当去掉工程中的sampleSwitch_bdbNetworkSteerStart时,用IO口唤醒,全局变量的值还是初始化时的值
@Soyo
这是因为关闭找网函数后,协议栈没有定时唤醒的任务了,默认进入深度休眠了,深度休眠不保存数据的,可以改下drv_pm_lowPowerEnter()休眠配置。