历史上的今天
今天是:2025年07月13日(星期日)
2019年07月13日 | STM32开发笔记74: STM32L0低功耗唤醒后的时钟选择
2019-07-13 来源:eefocus
本文介绍STM32L0系列单片机低功耗唤醒后的时钟选择。
参看已有的低功耗例程,发现都使能了HSI时钟,一致没有深究其中的具体原因,今天把它搞明白了,现记录如下:
先看一下,使能低功耗的函数:
void CTarget::EnableLowPower(void)
{
HAL_PWREx_EnableUltraLowPower();
HAL_PWREx_EnableFastWakeUp();
__HAL_RCC_WAKEUPSTOP_CLK_CONFIG(RCC_STOP_WAKEUPCLOCK_HSI);
DisableAllIO();
}
第1句使能超低功耗,第2句使能快速唤醒,第3句选择唤醒后的主始终,第4句将所有IO引脚设置为低功耗状态。
关键语句就在于__HAL_RCC_WAKEUPSTOP_CLK_CONFIG,以下是该宏的原型:
/**
* @brief Macro to configures the wake up from stop clock.
* @param __RCC_STOPWUCLK__ specifies the clock source used after wake up from stop
* This parameter can be one of the following values:
* @arg @ref RCC_STOP_WAKEUPCLOCK_MSI MSI selected as system clock source
* @arg @ref RCC_STOP_WAKEUPCLOCK_HSI HSI selected as system clock source
* @retval None
*/
#define __HAL_RCC_WAKEUPSTOP_CLK_CONFIG(__RCC_STOPWUCLK__) (MODIFY_REG(RCC->CFGR,
RCC_CFGR_STOPWUCK, (uint32_t)(__RCC_STOPWUCLK__) ))
在这里说的已经很清楚,唤醒后的主时钟智能选择MSI或HSI,这也就是为什么低功耗程序都是能HSI时钟的原因了。
史海拾趣
|
本帖最后由 paulhyde 于 2014-9-15 09:42 编辑 电参数在电子线路中非常重要,本课题主要负责交流电参数的测量。 设计要求(1)电容测量范围:20pF~20µF,相对误差… 查看全部问答> |
|
ginny 14:50:25 一个有趣的问题:几乎所有的cpu都晶振,人脑也相当于cpu,大家猜猜,人脑有类似于晶振的组织吗? O□(291888386) 14:50:51 心脏 ginny 14:51:04 那也太慢的吧 O□(291888386) 14 ...… 查看全部问答> |
|
一:先从感性上认识,先试着去按照例子去做,去移植,照着框架写驱动,不懂的地方在去看书。 二:先把理论看了,有关内核讲解的书看了,然后再去弄搞移植,写驱动,应用程序。 请高手们指点一下吧!… 查看全部问答> |
|
我的屏幕是宽屏。想转90度当竖屏使用。 就是这种效果 11111111111111111111111 11111111111111111111111 现在安装的时候竖起来了。 11 11 11 11 11 11 11 11 11 怎样在竖起来的屏幕上面正确显示呢?… 查看全部问答> |
|
应用LM3S8962的网络功能,将ZigBee网络融合,实现上位机远程监控。目前是用LM3S3739做的ZigBee协调器,如果组网成功,改用LM3S8962应该比较简单。… 查看全部问答> |
|
想清除ST10F269Z2Q6的Flash,结果用ST Flasher Tools 2.4B - Erase Flash时,出错,信息如下:* ERASE BANKS -->ERRORDescription: EraseFlash failed.Flash: block erase:&n ...… 查看全部问答> |




