按照您上述代码测试,还是未能定时唤醒(按键可触发进入休眠,电流减少,但时间到了不能唤醒),请问
1、模组配置为g_clk32K_config = CLK_32K_RCOSC;是否有影响
2、上述使用的按键除了外部中断功能外,是否也开启其唤醒功能
【已解决】BPU模组定时唤醒功能
Re: BPU模组定时唤醒功能
- Attachments
-
-
Tags:
Re: BPU模组定时唤醒功能
我是在BPU模组上测验的,请问有限制吗?或者除了上述,还需配置其他选项吗
Re: BPU模组定时唤醒功能
- 还是基于上次的代码,修改了g_clk32K_config = CLK_32K_RCOSC;,我测试也是可以到50s的时候唤醒的;
- 按键只是一个触发操作,而且是触发进入低功耗的,所以是否开启唤醒功能是不重要的,理论上使用其他触发方式(例如串口指令)也是可以的;
建议:直接使用最原始的SDK,仅修改上述代码测试一下,或者使用黑色的官方开发板测试
Re: BPU模组定时唤醒功能
1、重新下载最新的SDK(PHY6222_3.5.4),只修改下图3处地方,测验还是未能定时唤醒(定时50S,到时未唤醒),log输出如图所示
2、我现在只购买BPU模组,没有黑色的官方开发板,您是否方便使用BPU测验一下呢
- Attachments
-
-
-
Re: BPU模组定时唤醒功能
或者发您的bin文件我试试,下面是我编译的bin
- Attachments
-
- tuyaos_demo_ble_peripheral_QIO_1.0.1.rar
- (140.45 KiB) Downloaded 417 times
Re: BPU模组定时唤醒功能
您给的bin,我试了是可以,您试了我输出的bin了吗?
请问你的SDK版本多少呢,是在Tuya IDE开发的吗
Re: BPU模组定时唤醒功能
我们编译出来文件名、文件大小有很大差异,应该是不同SDK版本;
我的SDK是在tuya ide下载PHY6222_3.5.4,在vscode上编译得到bin
Re: BPU模组定时唤醒功能
经过对比,我发现影响因素是:直接下载的SDK默认是“HOST_CONFIG=4”,使用上述逻辑不能唤醒,我手里的SDK因为之前调试过扫描,所以“HOST_CONFIG=6”,使用上述逻辑可以唤醒。
这个宏本身也就是控制是否开启扫描功能的,理论上不应该影响Timer是否能唤醒芯片的逻辑,所以我又做了实验,发现:虽然当“HOST_CONFIG=6”的时候设备唤醒了,但是打印的Log表明设备不是真的被唤醒了,而是复位了,所以这种方式表面上看起来现象符合要求,但实际上是不对的。
后面又做了一些实验,发现以下方法是可以真正做到唤醒设备的: