STM32低功耗开发记录(二)

HAL_PWR_EnableSleepOnExit();

HAL_RCC_GetSysClockFreq()

HAL_RCC_GetHCLKFreq()

 

STM32低功耗开发记录(二)_第1张图片

STM32低功耗开发记录(二)_第2张图片

 

misc.c的NVIC_SystemLPConfig()函数

STM32低功耗开发记录(二)_第3张图片

相关信息《Cortex-M3 权威指南》:

STM32低功耗开发记录(二)_第4张图片

STM32低功耗开发记录(二)_第5张图片

STM32低功耗开发记录(二)_第6张图片

STM32低功耗开发记录(二)_第7张图片

STM32低功耗开发记录(二)_第8张图片

STM32低功耗开发记录(二)_第9张图片

 

 

 

 

MSI时钟:

STM32低功耗开发记录(二)_第10张图片

频率输出:

STM32低功耗开发记录(二)_第11张图片

《Reference Manual_STM32L100xx, STM32L151xx, STM32L152xx and STM32L162xx advanced ARM_-based 32-bit MCUs》

《Cortex-M3-Technical-Reference-Manual》

STM32低功耗开发记录(二)_第12张图片

《ARMv7-M_ARM》

STM32低功耗开发记录(二)_第13张图片

 

内部RC振荡器 à 时钟源MSI à System clock à HCLK

     |

     |____RCC_ICSCR寄存器的MSIRANGE比特控制MSI的range.这个值在Stop模式下保持。

 

  1. 默认,上电后,处理器重启后处于Run模式。Run模式下CPU时钟来自HCLK。《refreencr manual》P108
  2. Dynamic voltage scalling management选择的voltage range会影响频率的高低范围。
  1. System Clock时钟在处理器重启后、从Stop和Standby模式唤醒后默认是选择MSI的,其他三个时钟源HSI/HSE/PLL时钟可以被关闭以降低功耗两个二级时钟LSI RC(32KHz),LSE(32.768KHz)是否需要关闭?
  2. 关闭Flash???
  3. 由于需要外部加速度传感器的震动作为中断触发MCU唤醒,并考虑到所有操作可以在中断处理函数中执行,可以考虑使用Stop模式。该模式需要靠中断退出。Stop模式下PLL,HIS,HSE,MSI全部disabled。退出该模式时使用MSI作为系统时钟。
  4.  

 

Regulator设置

VOS位设置

ULP(ultra low power)设置

MSI range设置

Vref

 

STM32低功耗开发记录(二)_第14张图片

 

你可能感兴趣的:(STM32,单片机,STM32,低功耗)