STM32L152 STOP模式

本文详细介绍了如何配置STM32L152进入STOP模式并利用RTC中断进行唤醒,包括关闭高速时钟、RTC唤醒配置、管脚设置以及低功耗模式下DEBUG的启用,成功实现了4S后由RTC唤醒并恢复ADC、日历、串口功能。
摘要由CSDN通过智能技术生成

目的

配置芯片进入停止模式,RTC唤醒中断唤醒。

完成情况

成功进入停止模式4S,然后由RTC唤醒,ADC、日历、串口等功能成功启动。

步骤

1,进入低功耗模式相关配置

关闭高速时钟;
RCC中关闭所有外设时钟;
关闭外设使能;

2,唤醒相关配置

要使能 RTC 唤醒中断,需按照以下顺序操作:
1. 将 EXTI 线 20 配置为中断模式并将其使能,然后选择上升沿有效。
2. 配置 NVIC 中的 RTC_WKUP IRQ 通道并将其使能。
3. 配置 RTC 以生成 RTC 唤醒定时器事件。

void RTC_configration(void)
{
  NVIC_InitTypeDef  NVIC_InitStructure;
  EXTI_InitTypeDef  EXTI_InitStructure;
    RTC_InitTypeDef RTC_InitStructure;


  RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR, ENABLE);

  /*!< Allow access to RTC */
  PWR_RTCAccessCmd(ENABLE);

 /* Clear WakeUp flag */
  PWR_ClearFlag(PWR_FLAG_WU);

  /*!< Reset RTC Domain */
  RCC_RTCResetCmd(ENABLE);
  RCC_RTCResetCmd(DISABLE);

  /*!< LSE Enable */
  RCC_LSEConfig(RCC_LSE_ON);

  /*!< Wait till LSE is ready */
  while (RCC_GetFlagStatus(RCC_FLAG_LSERDY) == RESET)
  {}

  /*!<RTC Clock Source Selection */
  RCC_RTCCLKConfig(RCC_RTCCLKSource_LSE);

  /*!< Enable the RTC Clock */
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值