你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

【NUCLEO-U083RC评测】⑧RTC&STANDBY Alarm唤醒功能

[复制链接]
小萝卜啦啦啦 发布时间:2024-6-2 20:29

; n: B" B+ {1 g/ P# L6 j上篇文章中我用RTC定时,实现了定时从standby模式下唤醒,但是有个问题,定时时间太短了。! W) _2 U6 q3 C2 A. R6 r. X* y+ t+ @
2 r' F: u& @$ N0 g
如果我选择把RTC时钟(32.768KHz)进行16分频,从代码函数的入参counter的类型为U32,可知其最大值为0xFFFF。所以代入公式:0xFFFF = max定时时间 * (32768 / 16),解得max定时时间 = 31(s)/ M' _8 j5 ]. W
& [5 h9 l8 l% @5 [2 S& s
如果时钟源选择1Hz,那么最大定时时间也就0xFFFF(s) = 18(H)7 N3 Z* R  P% f4 P3 I
$ ]8 v7 A( x- J- N" i& p, z( L3 x
如果我要拿这个来做日历的定时刷新,只需要在一天的00:00唤醒,刷新即可,如果用上文的方法一天至少要唤醒2次,其中有一次是完全无意义的。3 f! P4 i2 F* T2 d
1 i7 C& V3 s. R
所以今天我要来玩一下RTC的闹钟,他就没有这个问题了,只有在RTC时钟与你设置的定时时间一致时你才会被唤醒# M$ ?9 c4 n# k% o: c( I6 M3 R

5 Q5 Y/ s2 n1 q' B, Z. }1 n( S工程的话就用上一篇那个- ^0 g% ?6 U* G# T, R+ }

# l6 }& o0 b8 `. \+ @0 Y: ]$ J" u9 X" z) r* M& m; q
一.Cube修改
$ h  H9 |% e6 Y: P! a" }+ o- Y7 A然后来到RTC界面,把上次打开的wkup关掉,把闹钟A打开
, F0 p# f8 J0 k0 s( M* r; F
2.png , b7 N' W. M3 d5 H. s6 f4 \

9 q( b4 f' y$ o" G. R/ a1 F接下来到参数界面配置一下参数。我要把默认RTC的时间设置成23点59分30秒。然后闹钟触发时间配置成0点0分0秒
5 f) K' I- A  R9 E
3.png
& M  F8 m4 p# \- M3 k
  Z' l5 V5 ]9 C

( @8 S# g' c' S% ^& X
4.png
$ u4 @/ f, y& `; W0 b/ v! p5 x  @7 s' u; P" F  D% _8 w6 x" b, C' F9 d

! j# s1 c- ^: m+ z; Z4 u然后要把NVIC开一下
$ R5 [4 M9 c- d5 k# c! w2 s
5.png 8 _, w9 `! P; F+ F/ w; `
& b5 ^4 z- z$ G5 [6 S( n

" M/ v0 N* F6 z然后生成代码(图略)
  L9 \% s; O0 y; T8 Q6 O) B" s9 N
二.代码修改& E9 W# i! s3 N! ]% X5 u
代码几乎不用修改,只要加一句话即可,如下
. m: s2 Q( y9 Y" U, D* R& ^
  1.     /* 清除闹钟标志位 */
    , t$ J+ Q& F, G# r) M- G! O# i
  2.     __HAL_RTC_ALARM_CLEAR_FLAG(&hrtc, RTC_FLAG_ALRAF);; D, i7 K; G9 C' y( R% ~
复制代码
7.png

( [0 M5 k+ _* Z0 ?$ m3 K( e+ {: S) H) u. t5 K( G8 D; y% n
运行效果:

) S# ]# \0 |& Z. x* u: x
6.png 1 s# j+ }; H9 u* o, T) K

, t% _3 T' F. r& o7 w, C" @
首次上电后过了30S,就到了我设置的0点0分0秒,此时就会被闹钟唤醒,打印的时间也正确。之后他就又去睡觉了,并且我观察了好几分钟都没有被唤醒。应该是达到了我今天的目的。

: S  b1 Z2 Y. g: \3 X
4 Z& y' \/ l, D9 G
工程: STM32U0_RTC_Alarm_standby_test.rar (5.22 MB, 下载次数: 0)
收藏 评论0 发布时间:2024-6-2 20:29

举报

0个回答

所属标签

相似技术帖

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版