关于ch579低功耗

根据这个帖子用户如何自己控制低功耗模式和蓝牙开关配合问题 - 沁恒微电子社区 (wch.cn)

打开HAL_SLEEP宏后,TMOS会根据是否有event自动控制sleep模式的进出。

  1. 是否意味着tmos_start_task第三个参数为1时,永远不会自动进入低功耗?

  2. 如果我要完全自主控制进出sleep(关闭自动控制)

    是否只要①打开HAL_SLEEP②MCU.c → CH57X_BLEInit,注释//cfg.sleepCB = CH57X_LowPower;(不绑定这个函数指针)③自己配置IO唤醒,CH57X_LowPower进入睡眠

使用HAL_SLEPP的方式是由我们协议栈自己调用睡眠,当然进入了睡眠函数,发现能够睡眠的时间十分短暂,那么会直接退出而不会调用睡眠函数,如果想要自己控制睡眠,是需要参照PM的例程里睡眠去修改的,自己调用睡眠函数(LowPower_Sleep),将HAL_SLEEP设置为false。


现在我不开HAL_SLEEP使用BLE,自己控制低功耗的进入唤醒,现在出现一个问题,BLE开启后,手动进入低功耗,RTC唤醒,唤醒后要过大约2分钟才能扫描出设备广播,是什么原因?


调用扫描函数就会开始扫描,自己调用低功耗在使用蓝牙工程的时候是不建议使用的,使用中会出现很多麻烦,具体要看想实现什么样的功能,协议栈调用睡眠使用起来是很方便的。


只有登录才能回复,可以选择微信账号登录