低功耗状态死机
-
@yyzxx 程序没卡死 , 看看哪里是不是把蓝牙广播关了
-
@zhao 广播没有手动关 因为是偶现的开不了机,正常情况下低功耗状态也有广播,有没有什么情况可能导致广播关了
-
@yyzxx 感觉低功耗的逻辑有点问题 ,感觉没理解没理解我们睡眠唤醒的机制 。
sleep_enable,不是立马进入睡眠状态。会检测有没有要执行的任务。没有才会睡眠,有任务要执行会自动唤醒,中断源触发 也是
睡眠的时候蓝牙是不广播的,芯片会周期性唤醒 (和蓝牙广播时间间隔有关),所以你在调sleep_enable的时候蓝牙是广播的,原理同上一条
-
@zhao 是的 如果蓝牙广播不关低功耗状态会根据蓝牙广播的时间间隔唤醒,我现在就是这样使用的,这样使用有没有问题,死机和这个有没有关系,这样使用的话不算完全进入低功耗状态,我前面说的低功耗就是这个状态
-
@zhao 您好,进入低功耗前关掉广播了,手机也搜不到了,但是进出低功耗那个打印还在循环打印sw,这是正常的吗? ,进入低功耗前关掉广播,低功耗状态时是不是就不会定期唤醒了
-
@yyzxx 关闭广播前与关闭广播后的sw频率有区别吗?休眠不只跟广播有关,进入休眠之后,所有外设都会掉电,影响进入这两个函数的频率跟软件定时器、广播间隔、连接间隔、其他pmu唤醒源有关,比如 io、时钟校准等。
-
@felix-yang 频率有区别 关掉广播前看着像是有两个频率固定,关掉广播后看着就剩一个了,这个和RTC有关吗,现在的打印频率差不多1s左右
-
@yyzxx 与RTC有关系,可以被RTC唤醒
-
@felix-yang 那就是如果想完全进入低功耗不被唤醒,就不能使用RTC和广播,如果开着就会定时唤醒,定时唤醒会多一些功耗,对其他的没有影响吧,死机应该和这个定时唤醒没关系吧,我这有一个控制电源的io,程序刚开始时就把这个io给pmu控制,这样也没问题吧,因为我看到串口PA0 和 PA1进入低功耗前给pmu,退出低功耗后又给cpu了,控制电源的io不用这样操作吧
-
@yyzxx 只会多加功耗,其他的到没有影响,在普通控制单元控制 GPIO 时,GPIO 可以用作通用输入输出口、外部中断口、串口、SPI 口等常用外部接口功能。在低功耗单元控制 GPIO 时,GPIO 可以用作输入输出口、外部电平变化检测、Keyscan 等功能。