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

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

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

  p/ u% O" F9 u8 O3 N0 {上篇文章中我用RTC定时,实现了定时从standby模式下唤醒,但是有个问题,定时时间太短了。
; O8 H3 F" \2 ?! `" f" b. f! p* l/ m0 z* t5 P! N; u+ y5 B" E  B0 D
如果我选择把RTC时钟(32.768KHz)进行16分频,从代码函数的入参counter的类型为U32,可知其最大值为0xFFFF。所以代入公式:0xFFFF = max定时时间 * (32768 / 16),解得max定时时间 = 31(s)( D/ v* Q( `0 c* Z
7 w- a+ w4 G7 X5 O) w: Q
如果时钟源选择1Hz,那么最大定时时间也就0xFFFF(s) = 18(H)$ H) @) c4 l0 n' g/ k+ q
& ]$ e; X6 r  U) y
如果我要拿这个来做日历的定时刷新,只需要在一天的00:00唤醒,刷新即可,如果用上文的方法一天至少要唤醒2次,其中有一次是完全无意义的。
6 q' `/ p& j1 M* H7 l
2 c! H; ~  j; {+ F  F所以今天我要来玩一下RTC的闹钟,他就没有这个问题了,只有在RTC时钟与你设置的定时时间一致时你才会被唤醒
) N9 h- B* Y2 h
" z1 \& D: V! C/ ]+ X6 h9 C2 G工程的话就用上一篇那个' m: k$ [5 C# T5 n' q- H9 }

, ?! S1 c1 G6 h
+ [% n( k0 Y* D/ ?1 W一.Cube修改1 a2 R) C. j# A/ g5 T" b. K9 a! A
然后来到RTC界面,把上次打开的wkup关掉,把闹钟A打开" ~2 b0 G% b% F5 N8 Z. s
2.png
' @! t1 \9 n- H/ \' i& w& F) M( L5 m
接下来到参数界面配置一下参数。我要把默认RTC的时间设置成23点59分30秒。然后闹钟触发时间配置成0点0分0秒
# M3 i- d, p3 N. o2 A! b
3.png 0 d7 L* _6 L6 I0 i6 q0 p* n& |/ i

, k3 m' Z" R* m( `) N3 i0 u; A
; v5 k7 c( S4 k2 h2 E% i- Y
4.png - O; {- j) y$ F% L

& i2 a( I* N3 a/ G7 [& W- i$ b7 n9 z2 [" G4 J3 s
然后要把NVIC开一下
+ r, l9 m+ ^; J% x8 K
5.png
) {2 @0 E/ q' k8 X& X3 {
5 i5 I0 ~4 w& `6 G
! F1 G0 M6 I, ~然后生成代码(图略)
* ?' E3 M5 [$ h' [
" G' p( E) k/ l/ q4 v2 x& p二.代码修改3 C& ?: R  E% K3 G
代码几乎不用修改,只要加一句话即可,如下/ _4 @& T' t( }
  1.     /* 清除闹钟标志位 */
    * a- e/ a1 R0 d0 O: D
  2.     __HAL_RTC_ALARM_CLEAR_FLAG(&hrtc, RTC_FLAG_ALRAF);
    1 m+ l4 N* n$ W( o3 I" u
复制代码
7.png
- e9 M  ^2 l: I

& v% M7 ^) Y7 \' j' {: `9 w运行效果:

) s; `6 y/ [$ r; e3 u- w
6.png ; w2 g4 z5 ~2 B
9 Z) m: H% |4 C- }
首次上电后过了30S,就到了我设置的0点0分0秒,此时就会被闹钟唤醒,打印的时间也正确。之后他就又去睡觉了,并且我观察了好几分钟都没有被唤醒。应该是达到了我今天的目的。
' P7 G" r9 B( M

- Z- f) T7 ^+ f- n, U
工程: STM32U0_RTC_Alarm_standby_test.rar (5.22 MB, 下载次数: 0)
赞 收藏 评论0 发布时间:2024-6-2 20:29

举报

0个回答

所属标签

相似技术帖

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版