你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

STM32F411 Stop Mode下Flash两种模式,分别怎么控制进入?

[复制链接]
liangliangwa 提问时间:2018-1-24 15:29 /
STM32F411 Stop Mode下Flash两种模式,分别怎么控制进入?
下图高亮部分就是Flash两种不同模式:


TIM截图20180124152619.png
收藏 2 评论10 发布时间:2018-1-24 15:29

举报

10个回答
nyszx 回答时间:2018-2-11 09:41:22
应该是的,可在STOP模式下进一步关闭FLASH Power
QQ截图20180211093712.jpg
函数源码说明也很清除
  1. /** @defgroup PWR_Group5 FLASH Power Down configuration functions
  2. *  @brief   FLASH Power Down configuration functions
  3. *
  4. @verbatim   
  5. ===============================================================================
  6.              ##### FLASH Power Down configuration functions #####
  7. ===============================================================================  
  8.     [..]
  9.       (+) By setting the FPDS bit in the PWR_CR register by using the
  10.           PWR_FlashPowerDownCmd() function, the Flash memory also enters power
  11.           down mode when the device enters Stop mode. When the Flash memory
  12.           is in power down mode, an additional startup delay is incurred when
  13.           waking up from Stop mode.
  14. @endverbatim
  15.   * @{
  16.   */

  17. /**
  18.   * @brief  Enables or disables the Flash Power Down in STOP mode.
  19.   * @param  NewState: new state of the Flash power mode.
  20.   *          This parameter can be: ENABLE or DISABLE.
  21.   * @retval None
  22.   */
  23. void PWR_FlashPowerDownCmd(FunctionalState NewState)
  24. {
  25.   /* Check the parameters */
  26.   assert_param(IS_FUNCTIONAL_STATE(NewState));

  27.   *(__IO uint32_t *) CR_FPDS_BB = (uint32_t)NewState;
  28. }
复制代码

评分

参与人数 1蝴蝶豆 +3 收起 理由
zero99 + 3

查看全部评分

liangliangwa 回答时间:2018-1-24 15:40:55
我用的是标准库,现在用函数 PWR_FlashPowerDownCmd();参数填写ENABLE和DISABLE来开关进入这个两个模式,对吗?
andeyqi 回答时间:2018-2-11 09:20:23
我没用过这个函数,看文档的注释我的理解是这个意思。
flash.PNG

评分

参与人数 1蝴蝶豆 +2 收起 理由
zero99 + 2

查看全部评分

无薪税绵 回答时间:2018-2-11 09:51:28
进入停止模式,需要在调用指令前设置一些寄存器位,
STM32标准库把这部分的操作封装到PWR_EnterSTOPMode函数中了。

在停止模式中可以控制内部FLASH的供电,
控制FLASH是进入掉电状态还是正常供电状态,
这可以使用库函数PWR_FlashPowerDownCmd配置,
它其实只是封装了一个对FPDS寄存器位操作的语句,
要注意,这个函数需要在进入停止模式前被调用,
即应用时需要把它放在上面的PWR_EnterSTOPMode之前。

还要注意的是进入停止模式后,STM32的所有I/O都保持在停止前的状态,
而当它被唤醒时,STM32使用HSI作为系统时钟(16MHz)运行,
由于系统时钟会影响很多外设的工作状态,
所以一般我们在唤醒后会重新开启HSE,把系统时钟设置会原来的状态。

付上野火大神的教程:
http://www.cnblogs.com/firege/p/5806040.html

评分

参与人数 1蝴蝶豆 +3 收起 理由
zero99 + 3

查看全部评分

toofree 回答时间:2018-2-11 10:13:24
解决这类问题,送你三板斧:
1、datasheet、Reference manual;
2、STM32CubeMX
3、STM32CubeF4库,STM32F4 DSP and standard peripherals library


傲游截图20180211101242.png

傲游截图20180211101304.png


评分

参与人数 1蝴蝶豆 +3 收起 理由
zero99 + 3

查看全部评分

liangliangwa 回答时间:2018-2-11 11:24:37
toofree 发表于 2018-2-11 10:13
解决这类问题,送你三板斧:
1、datasheet、Reference manual;
2、STM32CubeMX

感谢回复!
liangliangwa 回答时间:2018-2-11 11:25:06
无薪税绵 发表于 2018-2-11 09:51
进入停止模式,需要在调用指令前设置一些寄存器位,
STM32标准库把这部分的操作封装到PWR_EnterSTOPMode函 ...

感谢回复!
wolfgang2015 回答时间:2018-2-11 12:42:33
请参考此帖中的图:ST线下培训(05-23成都站)STM32L476低功耗设计(一)

图中的使用方式介绍得很明确了


评分

参与人数 1蝴蝶豆 +3 收起 理由
zero99 + 3

查看全部评分

x5y4z3 回答时间:2018-2-12 11:01:06
搞了半天,原来是要在此帖回复相关的答疑,咋搞的?呵呵!~
12下一页
关于 意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
13245底部标题123相同标题
12底部标题123相同标题
33333底部标题123相同序号
3435底部标题-无链接
关注我们
st-img 微信公众号
st-img 手机版