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

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

[复制链接]
冯兆亮 提问时间: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

查看全部评分

冯兆亮 回答时间:2018-1-24 15:40:55
我用的是标准库,现在用函数 PWR_FlashPowerDownCmd();参数填写ENABLE和DISABLE来开关进入这个两个模式,对吗?
andey 回答时间:2018-2-11 09:20:23
提示: 作者被禁止或删除 内容自动屏蔽
无薪税绵 回答时间: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

查看全部评分

七哥 回答时间: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

查看全部评分

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

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

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

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


评分

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

查看全部评分

x5y4z3 回答时间:2018-2-12 11:01:06
搞了半天,原来是要在此帖回复相关的答疑,咋搞的?呵呵!~
冯兆亮 回答时间:2018-2-12 11:36:54
x5y4z3 发表于 2018-2-12 11:01
搞了半天,原来是要在此帖回复相关的答疑,咋搞的?呵呵!~

感谢回复!本来就是询问疑惑的解决办法的,所以大家回复都是给出我解惑,哈哈哈···
关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版