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

Firmware Lib在EK_STM32F上的学习体会(PWR/RCC/RTC)

[复制链接]
qazwsx-19104 发布时间:2008-9-3 19:16
PWR Example 1
0 h) `( Q$ E4 X7 b% D. |本例展示了如何使STM32进入停机模式(STOP Mode),以及如何通过外部中断线来唤醒STM32。在本例中,使用PB.09和实时闹钟(RTC Alarm)作为外部中断源。) Z: c3 `( [# [
6 B) ^1 n. [0 P+ l
设置在外部中断线9上(管脚PB.09)检测到下降沿时产生中断。设置在外部中断线17(即实时闹钟RTC Alarm)上检测到上升沿时产生中断,利用外部低速振荡器(external low speed oscillator LSE)把实时时钟的时间基数定为1秒。
: y* k1 b& ^/ M$ t7 A6 N. }% S% v# T. R
在例程中,系统按照如下模式进入/退出停机模式(STOP Mode):" l; }2 {4 _$ ~+ s+ i8 p% y: D* x
( |2 g, T2 m) M' T$ k
在系统启动2秒后,实时时钟(RTC)每3秒钟产生一个闹钟事件(Alarm event),使系统进入停机模式以降低功耗。有2种方式可以是系统退出此模式:1.在外部中断线9上侦测到上升沿信号。2.每3秒钟由实时时钟闹钟自动将系统唤醒。
3 `1 Y4 E8 D4 r' a
2 x% O1 N) m0 W9 X4个LED可以表征系统当前的状态:( r4 E" [, p' ~. P" v
- LD1 on / LD4 off: 系统在运行模式(RUN mode)下
9 s  ?; G, J9 c; X  j- LD1 off / LD4 on: 系统在停机模式(STOP Mode)下5 y3 ^7 i0 p7 X' @$ `$ h
- LD2 状态改变:系统通过外部中断线9退出停机模式(STOP Mode)) K+ o8 J$ N) W4 n5 q
- LD3状态改变:系统通过外部中断线17(实时时钟闹钟)退出停机模式(STOP Mode)& C& y- ]5 L: I2 \' }. H
( m9 c! A, J% j3 S, I# n8 k7 L
PWR Example 2
! G9 S0 U1 G* @- A/ s5 ~5 v本例展示了如何使STM32进入待机模式(Standby Mode),以及如何通过外部重置、实时时钟闹钟(RTC Alarm)或者WKUP管脚来唤醒STM32。4 q! P; A' w1 ~% t2 r! C- i
6 _1 ~0 q7 h- b& @6 W" C' }: m
在例程中,设置在外部中断线9上(管脚PB.09)检测到下降沿时产生中断。以及Systick每隔250ms产生一个中断,在这个中断中,改变连接在PC.06管脚上LED的状态,以次来提示系统工作在运行模式(RUN mode)。9 f# u: S  S- y: ~
5 e( ]* E4 M5 P) V8 Z3 u: v
一旦在外部中断线9上(管脚PB.09)检测到下降沿,系统将开启实时时钟闹钟(RTC Alarm),每三秒钟产生一个闹钟事件(Alarm event)。然后系统进入待机模式(Standby Mode)。在3秒内,在WKUP管脚上的上升沿或者外部复位都可以把系统从待机模式中唤醒,如果3秒内他们没有发生,那么由实时时钟闹钟自动唤醒系统。/ e9 l  ?8 s& `/ f8 Z

: Z& N% W, t" K5 ~; I4 o系统被唤醒以后,程序执行的顺序与重置后一样,PC.06上的LED开始闪耀,PC.07上的LED被点亮。实时时钟(RTC)设置被保留,因此无须对其再进行设置。
, F: a  F$ g3 k' i. e" R8 `! `2 G
  r1 {# h+ i+ O) n: ?LED可以提示系统当前的状态:. L( @5 b: _9 ]7 E+ p* I0 I  }1 @
- LD1 闪耀: 系统在运行模式(RUN mode)下. S/ K  A  F3 {, m* `! q
- LD1 off / LD2 off: 系统在待机模式(Standby Mode)下
  ]4 |( f; N  C* C; q8 {: e- LD2 on: 系统退出待机模式(Standby Mode)
  v/ T9 ~, A( ^" G# T4 q
$ e/ k0 l6 m, d- _RCC Example 1' @# E4 y6 X1 M. h8 e' r- P' ^! f
本例展示了如何设置系统时钟源,以及AHB, APB2 和APB1预分频。利用PLL设置系统时钟为72MHz。6 T4 k0 A* m. x* T3 \! i' X6 B
' }% p% g7 A2 b2 [  P1 H! Q& ~
同时展示了,出于debug目的,如何通过函数RCC_GetClocksFreq来获取片上各个时钟的当前状态和频率。利用debug工具,用户可以通过RCC_ClockFreq结构体,读出当前时钟的各种情况。
  I0 f1 z% o: j! b7 e# Z& |: p
" ]! I( d5 _* e. [7 [1 k1 E: V9 H) D1 V本例同时展示了高速外部时钟故障侦测(High Speed External clock (HSE) failure detection)功能。如果HSE失效,系统关闭HSE和PLL,选择HSI(内部高速时钟)作为时钟信号源,并产生一个NMI(Non-maskable Interrupt)中断。在此中断,授权HSE就位中断(HSE ready interrupt)。一旦HSE恢复,系统将时钟重新配置为先前状态。" c6 R8 U& l5 X8 i0 S  F4 i7 _
! R9 v% i1 A( N' G6 U9 t: f+ m5 f" Q
在本例程中,4个LED将根据不同的系统时钟频率按照不同速度闪耀。
5 Q4 `- `/ ?& i2 a6 p1 u$ x* W
5 K3 M* h. M" Y9 MRTC Example 13 G( @! n* B, L" p/ I
本例展示了如何使用外设实时时钟RTC,如何配置RTC的预分频,中断来保存时间和产生Second中断。; J0 S9 y7 I, p, w
; \3 R+ U* r8 N+ q5 \" A
使用外部低速时钟(LSE)作为RTC的时钟源。通过取消“#define RTCClockOutput_Enable”的注释,可以把RTC时钟通过管脚PC.13输出。. R0 A+ E% f/ t7 A" Y+ Y' C& ?
5 R% {2 m0 D* [( E' K- ^$ [. ]7 q
RTC和后备数据寄存器(BKP)一样,即便撤去VDD,仍能通过电池向管脚VBAT供电,因此RTC的配置不会丢失。在本例程中,通过向BKP_DR1写入一个数据作为完成RTC设置的标志。0 a% @3 h4 u$ S
. l! [; `8 `% o0 k# b" j& b  |# J
运行程序:
9 r4 [/ h0 j3 e5 L3 |1. 检查BKP_DR1:如果数据不正确,表示未设置RTC,因此设置RTC,用户可以通过超级终端设置事件;如果数据正确,则把时间显示在超级终端上。
/ q, d' q: C* Q% P' f5 H! J2. 即使发生外部复位,RTC的配置也不会丢失。6 W2 K/ p7 u8 G6 P5 D. v
3. 如果发生上电复位,那么只要电池输出连接到管脚VBAT,RTC的配置也不会丢失。
# e3 {4 u, x4 Q! G  ^& |
6 c! {$ k4 d' X7 v% O在RTC中断(即Second中断)中,翻转PC.06的状态,即相连的LED以1秒为周期闪耀。通过USART1,可以调用printf函数向超级终端输出信息。
: t( J$ s% b& r( Q( \- ~6 ~& l9 ^: d' y3 J1 ?3 k
出处:barboon 9 l3 P" {4 Q; n  t

5 L* V$ b, W" g. W; V. C5 h3 ~) c下载:2 {) s3 w3 H; A8 Y" r6 Y  {1 f( |
放上要改程序的PWR exemple2 和RCC exemple 1

2008316151223349.zip

下载

13.23 KB, 下载次数: 263

收藏 评论12 发布时间:2008-9-3 19:16

举报

12个回答
yunfei7370 回答时间:2008-12-7 10:44:00

RE:Firmware Lib在EK_STM32F上的学习体会(PWR/RCC/RTC)

下来看看!
黑外套-97160 回答时间:2008-12-8 16:39:08

RE:Firmware Lib在EK_STM32F上的学习体会(PWR/RCC/RTC)

0 s* J$ d6 T$ y" D/ z. k! `; y# v" h
下载来学习一下 谢谢
yunfei7370 回答时间:2008-12-11 09:54:29

RE:Firmware Lib在EK_STM32F上的学习体会(PWR/RCC/RTC)

顶一下!
taijitu520 回答时间:2011-2-26 14:53:10

RE:Firmware Lib在EK_STM32F上的学习体会(PWR/RCC/RTC)

谢谢分享
x200530564025 回答时间:2011-3-15 16:54:34

RE:Firmware Lib在EK_STM32F上的学习体会(PWR/RCC/RTC)

kankan看看
ccx621 回答时间:2011-8-27 13:33:37

回复:Firmware Lib在EK_STM32F上的学习体会(PWR/RCC/RTC)

 下载看看, \% e' @9 k* U$ k; F* y
 
yueqiang-319122 回答时间:2011-9-21 14:40:45

RE:Firmware Lib在EK_STM32F上的学习体会(PWR/RCC/RTC)

研究一下,看看是否有帮助
蓝隐者 回答时间:2012-6-9 17:33:16

回复:Firmware Lib在EK_STM32F上的学习体会(PWR/RCC/RTC)

学习了                                                                    
zrj8951 回答时间:2012-6-18 11:44:30

回复:Firmware Lib在EK_STM32F上的学习体会(PWR/RCC/RTC)

dddddddddddddddd
rocom 回答时间:2012-10-27 12:05:09

回复:Firmware Lib在EK_STM32F上的学习体会(PWR/RCC/RTC)

感谢分享
冰山一角-409887 回答时间:2012-12-31 21:08:36

回复:Firmware Lib在EK_STM32F上的学习体会(PWR/RCC/RTC)

下来看看
tianjianlv-1178 回答时间:2013-4-1 15:34:48

回复:Firmware Lib在EK_STM32F上的学习体会(PWR/RCC/RTC)

下载看看!dddddddddd

所属标签

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