stm32芯片休眠模式_STM32F072芯片RTC周期性唤醒休眠模式的话题

整理:MilerShao

有人使用STM32F072芯片开发电子产品,产品需要用到STOP休眠模式,希望用RTC的周期性自动唤醒功能来唤醒芯片。他发现芯片进入STOP后根本无法通过RTC定时唤醒MCU。查看ST的官方相关估计库,似乎并没有关于RTC 定时唤醒的参考项目。

我大致找了下,ST官方好像是没有现存的关于32F0芯片 RTC定时唤醒的例程。这里一起交流下RTC 定时唤醒话题。

其实,实现这个RTC 定时唤醒还是比较简单的。这里有个可编程的可自动重装的向下计数器,按照相应的时钟频率赋予适当的值,每当向下计数到0时便产生一个唤醒标志,如果此时使能了相应的定时唤醒中断,它就可以把MCU从低功耗模式唤醒。需做如下四项基本的准备工作。

1、确定RTC时钟,即RTCCLK.可以是LSE、LSI、HSE/32其中一个。下面的例程中选用LSI.

2、为自动唤醒定时计数器选择合适的时钟源。可以是RTCCLK的2,4,8,16分频后的某一个,或者使用RTCCLK经过预分频后的秒时钟CK_SPRE。下面例程中选用RTCCLK/16作为唤醒计时器【RTC_WUTR】的时钟源。

3、结合上面选定的唤醒定时器的时钟和需要STOP休眠的时间,计算出将赋给唤醒定时器【RTC_WUTR】的重载值。比方这里以LSI/16作为定时器的计数时钟,假设定时1S,LSI的频率按40K算的话,那40k/16=2500,16进制即0x9c4.

那如果定时1S的话,赋值应该就是0X9C4.【LSI有波动,定时可能误差】

4、做好RTC周期性定时唤醒的中断配置,即NVIC配置。RTC唤醒事件是连接到EXTI 20

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值