stm32f103 休眠
时间: 2023-08-24 11:05:03 浏览: 73
STM32F103可以通过休眠模式来降低功耗。常用的休眠模式有待机模式、停止模式和休眠模式。
在待机模式下,大多数设备都被关闭,只有RTC、WWDG和PVD等少数外设仍在工作,CPU处于停机状态。该模式下功耗非常低,但需要在唤醒后重新初始化所有外设,因此适用于长时间的低功耗要求。
在停止模式下,除了RTC、WWDG和PVD外,所有外设都被关闭,CPU和系统时钟均停止工作。该模式下功耗更低,但需要更长的唤醒时间和更多的初始化操作。
在休眠模式下,CPU、系统时钟和所有外设都被关闭,只有RTC和Wakeup的唤醒源保持工作。该模式下功耗最低,但需要最长的唤醒时间和最复杂的初始化操作,适用于对功耗要求非常高的场景。
下面是一个使用休眠模式的例子:
```c
#include "stm32f10x.h"
void EnterSleepMode(void)
{
RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR, ENABLE); //使能PWR时钟
PWR_WakeUpPinCmd(ENABLE); //使能WKUP唤醒引脚
PWR_EnterSTOPMode(PWR_Regulator_LowPower, PWR_STOPEntry_WFI); //进入停止模式
}
int main(void)
{
// 初始化代码
while (1)
{
// 待机模式
// __WFI(); // 等待中断唤醒
// 停止模式
// EnterStopMode();
// 休眠模式
EnterSleepMode();
}
}
```
在休眠模式下,唤醒事件可以是外部中断、RTC闹钟、WKUP唤醒引脚等。需要根据具体的应用场景选择合适的唤醒方式。
相关推荐
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)