active-halt模式

本文介绍了一种STM32微控制器利用RTC进行超低功耗唤醒的设计方案。通过外部低速时钟(LSE)作为时钟源,并配置RTC中断实现周期性唤醒,演示了按键触发LED闪烁的过程。文中提供了详细的RTC配置代码及系统时钟切换方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 这种模式与halt模式的区别就是RTC是工作的,且可以使用RTC中断来唤醒,利用外部低速时钟作为时钟源。

2. 本实验设计为:按键之后,led灯亮灭交替,要接外部时钟需要单独飞一根线接时钟源。

void CLK_Config(void)
{
  
  /* Select HSE as system clock source */
  CLK_SYSCLKSourceSwitchCmd(ENABLE);//使能时钟切换
  CLK_SYSCLKSourceConfig(CLK_SYSCLKSource_LSI);//选择外部低速时钟作为时钟源
  /* system clock prescaler: 1*/
  CLK_SYSCLKDivConfig(CLK_SYSCLKDiv_1);//设置系统时钟分频
  while (CLK_GetSYSCLKSource() != CLK_SYSCLKSource_LSI)//等待时钟稳定
  {}
}


void RTC_Config(void)
{
        CLK_LSEConfig(CLK_LSE_ON);
        CLK_RTCClockConfig(CLK_RTCCLKSource_LSE, CLK_RTCCLKDiv_1);
        while (CLK_GetFlagStatus(CLK_FLAG_LSERDY) == RESET);
        
        RTC_WakeUpCmd(DISABLE);
        CLK_PeripheralClockConfig(CLK_Peripheral_RTC, ENABLE);//RTC时钟门控使能
        RTC_WakeUpClockConfig(RTC_WakeUpClock_RTCCLK_Div16);
        RTC_ITConfig(RTC_IT_WUT, ENABLE);
        RTC_SetWakeUpCounter(2047);


        ITC_SetSoftwarePriority(RTC_IRQn, ITC_PriorityLevel_3);//优先级
        
        enableInterrupts();
}


    PWR_FastWakeUpCmd(ENABLE);  //快速唤醒使能

     RTC_Config();
     //所有IO输出低电平
    GPIO_Init(GPIOA, GPIO_Pin_All, GPIO_Mode_Out_PP_Low_Slow);
    GPIO_Init(GPIOB, GPIO_Pin_All, GPIO_Mode_Out_PP_Low_Slow);
    GPIO_Init(GPIOC, GPIO_Pin_All, GPIO_Mode_Out_PP_Low_Slow);
    GPIO_Init(GPIOD, GPIO_Pin_All, GPIO_Mode_Out_PP_Low_Slow);
       
    PWR_UltraLowPowerCmd(ENABLE);//超低功耗
    
    RTC_ITConfig(RTC_IT_WUT, ENABLE);//唤醒定时器中断使能
    RTC_WakeUpCmd(ENABLE);//RTC唤醒使能 开始计时 到时间了 就产生RTC中断
    
    while(1)
    {
      
         halt();

    }


INTERRUPT_HANDLER(RTC_CSSLSE_IRQHandler,4)
{
    /* In order to detect unexpected events during development,
       it is recommended to set a breakpoint on the following instruction.
  
    */
  
   RTC_WakeUpCmd(DISABLE);
   Delay(0x002F);
   GPIO_ToggleBits(GPIOD,GPIO_Pin_4);
   RTC_ClearITPendingBit(RTC_IT_WUT);  
   RTC_WakeUpCmd(ENABLE);
}


创新性的 HALT HALT系统 彻底解决了传系统 彻底解决了传系统 彻底解决了传HALT 系统 20 多年的设计缺陷,采 多年的设计缺陷,采 多年的设计缺陷,采 用专利的气锤布置设计、通过有限元分析优化台面结构集成 用专利的气锤布置设计、通过有限元分析优化台面结构集成 用专利的气锤布置设计、通过有限元分析优化台面结构集成 用专利的气锤布置设计、通过有限元分析优化台面结构集成 用专利的气锤布置设计、通过有限元分析优化台面结构集成 用专利的气锤布置设计、通过有限元分析优化台面结构集成 用专利的气锤布置设计、通过有限元分析优化台面结构集成 用专利的气锤布置设计、通过有限元分析优化台面结构集成 特殊算法的控制系统( HALTPLUSHALTPLUS HALTPLUS )和双向冲击振动器。我们的设备 )和双向冲击振动器。我们的设备 )和双向冲击振动器。我们的设备 )和双向冲击振动器。我们的设备 )和双向冲击振动器。我们的设备 )和双向冲击振动器。我们的设备 可以帮助企业最大化试验效率、发现潜在缺陷并基于 可以帮助企业最大化试验效率、发现潜在缺陷并基于 可以帮助企业最大化试验效率、发现潜在缺陷并基于 可以帮助企业最大化试验效率、发现潜在缺陷并基于 可以帮助企业最大化试验效率、发现潜在缺陷并基于 HALT 试验结果开 试验结果开 展定量可靠性评估。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值