打印
[STM8]

STM8L低功耗RTC唤醒时间

[复制链接]
3477|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
donsbin|  楼主 | 2015-8-24 22:03 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
初始化函数
 
  RTC_DeInit(); //初始化默认状态
  CLK_PeripheralClockConfig(CLK_Peripheral_RTC, ENABLE); //允许RTC时钟
  CLK_RTCClockConfig(CLK_RTCCLKSource_LSE, CLK_RTCCLKDiv_1); //选择RTC时钟源LSE、2=19K  
  RTC_WakeUpClockConfig(RTC_WakeUpClock_RTCCLK_Div16); //19/16 ≈1ms
  RTC_SetWakeUpCounter(3000);
  RTC_ITConfig(RTC_IT_WUT, ENABLE); //使能中断
  ITC_SetSoftwarePriority(RTC_IRQn, ITC_PriorityLevel_3);//优先级
  RTC_WakeUpCmd(ENABLE); //关闭自动唤醒  


RTC中断

INTERRUPT_HANDLER(RTC_IRQHandler,4)
{
  RTC_WakeUpCmd(DISABLE);
  RTC_ClearITPendingBit(RTC_IT_WUT);  
}


主函数
  
  HSI_TO_LSE();
  RTC_Enable(3000);
  halt();
  LSE_TO_HSI();
  System_Handle();


进入停止模式前时钟已经切换到LSE,唤醒时间一直不准。而且初次上电需要比较长的时间才能唤醒。
以前也没太注意这点,不知道怎么回事。
沙发
迪卡| | 2015-8-30 21:22 | 只看该作者
初次上电的时候是不是系统重新初始化了

使用特权

评论回复
板凳
Snow7| | 2015-8-30 22:00 | 只看该作者
在RTC唤醒中断中,再重新设定一次RTC_SetWakeUpCounter(1023),试试

使用特权

评论回复
地板
tangmix| | 2015-9-2 10:48 | 只看该作者
关注STM8的低功耗,项目马上要用到

使用特权

评论回复
5
zg1452| | 2016-12-7 09:32 | 只看该作者
你好,我能学习一下吗,项目卡在低功耗了

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

20

主题

96

帖子

2

粉丝