STM32F103待机模式配置
时间: 2023-10-15 16:07:21 浏览: 85
STM32F103驱动1.8寸TFTLCD,8PIN,SPI,ST7735。使用STM32cubeMX配置,HAL库版本
STM32F103可以通过设置控制寄存器的位来配置待机模式。
以下是一些常见的待机模式及其配置方法:
1. 进入普通待机模式:
```c
// 进入普通待机模式
PWR->CR |= PWR_CR_PDDS;
// 设置待机模式下外设的时钟
RCC->APB1ENR |= RCC_APB1ENR_PWREN;
```
2. 进入低功耗待机模式:
```c
// 进入低功耗待机模式
PWR->CR |= PWR_CR_LPDS;
// 设置待机模式下外设的时钟
RCC->APB1ENR |= RCC_APB1ENR_PWREN;
// 配置时钟预分频器
RCC->CFGR |= RCC_CFGR_HPRE_DIV1 | RCC_CFGR_PPRE1_DIV2 | RCC_CFGR_PPRE2_DIV1;
// 禁用PLL时钟
RCC->CR &= ~RCC_CR_PLLON;
```
需要注意的是,在进入低功耗待机模式前,需要先关闭PLL时钟,否则系统可能会出现不可预期的行为。
3. 进入深度低功耗待机模式:
```c
// 进入深度低功耗待机模式
PWR->CR |= PWR_CR_LPDS | PWR_CR_PDDS;
// 设置待机模式下外设的时钟
RCC->APB1ENR |= RCC_APB1ENR_PWREN;
// 配置时钟预分频器
RCC->CFGR |= RCC_CFGR_HPRE_DIV1 | RCC_CFGR_PPRE1_DIV2 | RCC_CFGR_PPRE2_DIV1;
// 禁用PLL时钟
RCC->CR &= ~RCC_CR_PLLON;
// 配置WFE和WFI指令时的操作
SCB->SCR |= SCB_SCR_SLEEPDEEP_Msk;
```
进入深度低功耗待机模式时,需要将WFE和WFI指令的操作配置为唤醒系统,否则系统将无法从待机模式中恢复。
以上是常见的几种待机模式及其配置方法,具体的配置方法可以根据系统需求进行选择和调整。
阅读全文