alisa123 发表于 2015-8-24 14:16:52

茅坑的石头 发表于 2015-8-24 13:42
stop_mode:
#if DEBUG
                                                printf("S M\n");


你这个不是进入stop mode的?我想做的是进入sleep mode 的。还有你这个是在stm32f302上实现的吗?

发表于 2015-8-24 14:51:48

进入休眠以前,把所有的中断都关闭,再试试。

茅坑的石头 发表于 2015-8-24 21:37:30

alisa123 发表于 2015-8-24 14:16
你这个不是进入stop mode的?我想做的是进入sleep mode 的。还有你这个是在stm32f302上实现的吗?
...

我用的是 stm32rbt6
我想,stopmode和你那个sleep mode实现上 应该差不多吧。
你就做个简单的小程序,仅仅做个sleep mode 的功能看能不能实现。

alisa123 发表于 2015-8-25 09:59:16

安 发表于 2015-8-24 14:51
进入休眠以前,把所有的中断都关闭,再试试。

谢谢你的回复,我试过了关闭中断还是不行。见鬼了,不知道哪里出问题了,看手册就要求三条(WFI (Wait for Interrupt) or WFE (Wait for Event) while:
– SLEEPDEEP = 0 and
– SLEEPONEXIT = 0
Refer to the Cortex-M4®F System Control register)

发表于 2015-8-25 11:17:19

我找的例程,楼主看一下,这个是标准库的。
楼主是否在线调试模式下测试?

alisa123 发表于 2015-8-25 11:55:13

安 发表于 2015-8-25 11:17
我找的例程,楼主看一下,这个是标准库的。
楼主是否在线调试模式下测试? ...

是的,我是在线调试sleep mode的,这个例程我在标准库中也看到了,它里面直接把GPIOA~GPIOF的时钟全关了,感觉和手册中说的进入睡眠不一样。

alisa123 发表于 2015-8-25 16:36:07

茅坑的石头 发表于 2015-8-24 13:48
其实建议你单独,做一个小程序,仅仅做一个进入休眠的小程序,自己测试一下。排除其他因素的干扰,你看能不 ...

我试过了,单独做一个小程序,里面没有任何中断处理是可以进入睡眠的。可是手册中没有说进入睡眠时不能有中断啊?

发表于 2015-8-25 17:53:36

在线模式要设置开启在线调试低功耗的功能,具体使用方法网上搜索对应IDE的设置。

alisa123 发表于 2015-8-25 19:09:51

好的,谢谢你的提示,现在我写了个小程序,只有led 灯的点亮和关闭,没有任何中断,是能够进入睡眠的,但是放到ad中断中,根据采样的模拟电压直决定进入睡眠就不行,不明白为什么会这样?
页: 1 [2]
查看完整版本: 关于stm32f302的进入睡眠和唤醒模