返回信息流stm32的休眠与唤醒,休眠时间是动态变化的。怎么实现?
不知道有没有懂这方面的,虽然不报太大希望,因为网上都找不到相关资料。有大神的话跟我联系一下,有偿求教!!15210578405 短信联系或者站短或者回帖
这是一条镜像帖。来源:北邮人论坛 / embedded-system / #15326同步于 2015/3/2
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Embedded_System机器人发帖
求助STM32大神 关于低功耗
bs2009cc
2015/3/2镜像同步6 回复
订阅后,新回复会通过你的通知中心匿名送达。
6 条回复
休眠前通过RTC设定任意休眠时间,时间到时中断唤醒,如果有相应的外部事件也可以中断唤醒,不知道是不是理解对了你的意思
【 在 bs2009cc 的大作中提到: 】
: stm32的休眠与唤醒,休眠时间是动态变化的。怎么实现?
: 不知道有没有懂这方面的,虽然不报太大希望,因为网上都找不到相关资料。有大神的话跟我联系一下,有偿求教!!15210578405 短信联系或者站短或者回帖
恩,你说的挺靠谱的。谢谢!但是我还有一些疑问,我的程序本身是比较复杂的,程序里有多个定时器,这些定时的长度也会根据‘SPI和串口收到的数据’的不同来做相应的调整,所以整个程序走一遍也会有多个休眠。按照你的方法,我可以在每个休眠之前都设置一下rtc时钟,这样看起来是可行的,但是比较麻烦。我看stm32有个睡眠模式(Cortex?-M3内核停止,外设仍在运行),用这个模式的话定时器就能自动唤醒了,但是这个模式好像没什么人用过,哎,有点迷茫。
【 在 maomao190 的大作中提到: 】
: 休眠前通过RTC设定任意休眠时间,时间到时中断唤醒,如果有相应的外部事件也可以中断唤醒,不知道是不是理解对了你的意思
刚去网上查了下,感觉你说的待机模式应该不能用在我的程序里,待机后SRAM内容丢失,唤醒后相当于stm32复位。而我希望的是唤醒后继续执行之前的代码。
【 在 maomao190 的大作中提到: 】
: 休眠前通过RTC设定任意休眠时间,时间到时中断唤醒,如果有相应的外部事件也可以中断唤醒,不知道是不是理解对了你的意思
低功耗模式分好几级的,根据你的需要选择就行,需要做低功耗的一般调一下代码的结构,使得唤醒后处理完全部可能事件,然后根据这些事件计算出芯片下次被唤醒的间隔时间,进入低功耗模式就行了
【 在 bs2009cc 的大作中提到: 】
: 恩,你说的挺靠谱的。谢谢!但是我还有一些疑问,我的程序本身是比较复杂的,程序里有多个定时器,这些定时的长度也会根据‘SPI和串口收到的数据’的不同来做相应的调整,所以整个程序走一遍也会有多个休眠。按照你的方法,我可以在每个休眠之前都设置一下rtc时钟,这样看起来是可行的,但是比较麻烦。我看stm32有个睡眠模式(Cortex?-M3内核停止,外设仍在运行),用这个模式的话定时器就能自动唤醒了,但是这个模式好像没什么人用过,哎,有点迷茫。
是有三级低功耗,但是除了你提到的待机模式,别的模式很少有人用,也没有可供参考的代码。如果调整程序结构,用RTC唤醒,对于我的程序也不是很好调整,不过还是尝试一下这种方法吧,没其他办法了。。。
【 在 maomao190 的大作中提到: 】
: 低功耗模式分好几级的,根据你的需要选择就行,需要做低功耗的一般调一下代码的结构,使得唤醒后处理完全部可能事件,然后根据这些事件计算出芯片下次被唤醒的间隔时间,进入低功耗模式就行了