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

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

[复制链接]
qazwsx-19104 发布时间:2008-9-3 19:16
PWR Example 1
5 F( o1 N0 @1 D( E本例展示了如何使STM32进入停机模式(STOP Mode),以及如何通过外部中断线来唤醒STM32。在本例中,使用PB.09和实时闹钟(RTC Alarm)作为外部中断源。
9 I* {* v( h. i8 l: {0 _8 U3 H: _, I, y: @. B% `; h* ?9 N
设置在外部中断线9上(管脚PB.09)检测到下降沿时产生中断。设置在外部中断线17(即实时闹钟RTC Alarm)上检测到上升沿时产生中断,利用外部低速振荡器(external low speed oscillator LSE)把实时时钟的时间基数定为1秒。
  ~. X' v) M: ?: |% ]0 A& c8 ^7 e- ?8 A! i
在例程中,系统按照如下模式进入/退出停机模式(STOP Mode):
2 D' C; w: j* R. J
- n+ C! D# O$ t7 E3 x在系统启动2秒后,实时时钟(RTC)每3秒钟产生一个闹钟事件(Alarm event),使系统进入停机模式以降低功耗。有2种方式可以是系统退出此模式:1.在外部中断线9上侦测到上升沿信号。2.每3秒钟由实时时钟闹钟自动将系统唤醒。/ `# [1 z* K# r- z! J2 X) i+ \

: @0 a! k; ]5 y, Q; b: X, g" b4个LED可以表征系统当前的状态:
) C( y; F6 A* S9 ~! l& P. Y- LD1 on / LD4 off: 系统在运行模式(RUN mode)下
9 x3 `: k: V- l5 q' L- LD1 off / LD4 on: 系统在停机模式(STOP Mode)下
: d/ C  H# O' u0 v; a3 y% i* i$ j- _7 X- LD2 状态改变:系统通过外部中断线9退出停机模式(STOP Mode)
* U  W# g1 |: [+ H& H% G7 K* Q4 B- LD3状态改变:系统通过外部中断线17(实时时钟闹钟)退出停机模式(STOP Mode)$ l8 t4 X3 }6 V; d" h# ]& {

. [$ I8 G8 e7 X: ZPWR Example 2
4 D3 h$ l) V+ z# ?+ s本例展示了如何使STM32进入待机模式(Standby Mode),以及如何通过外部重置、实时时钟闹钟(RTC Alarm)或者WKUP管脚来唤醒STM32。" o+ ^/ N% Y, O1 t6 G. q0 X( [$ y" `

; [: V5 `6 X% M8 o' a在例程中,设置在外部中断线9上(管脚PB.09)检测到下降沿时产生中断。以及Systick每隔250ms产生一个中断,在这个中断中,改变连接在PC.06管脚上LED的状态,以次来提示系统工作在运行模式(RUN mode)。
$ I' S$ V( P# H! g" f- z$ `0 K7 S: V1 N+ \! T, j. a$ J- l5 Q& H
一旦在外部中断线9上(管脚PB.09)检测到下降沿,系统将开启实时时钟闹钟(RTC Alarm),每三秒钟产生一个闹钟事件(Alarm event)。然后系统进入待机模式(Standby Mode)。在3秒内,在WKUP管脚上的上升沿或者外部复位都可以把系统从待机模式中唤醒,如果3秒内他们没有发生,那么由实时时钟闹钟自动唤醒系统。
- a, o. ~0 f, c8 P$ L
- R# A! n' L% f+ {系统被唤醒以后,程序执行的顺序与重置后一样,PC.06上的LED开始闪耀,PC.07上的LED被点亮。实时时钟(RTC)设置被保留,因此无须对其再进行设置。
. d2 O4 [$ y! ~. e2 T4 @! s8 [$ F- _$ }5 I( a+ D! X, N
LED可以提示系统当前的状态:
4 O9 r. R/ j0 P2 m' t- LD1 闪耀: 系统在运行模式(RUN mode)下
- [# p6 ]: ^& e8 f8 X, @* z( p- LD1 off / LD2 off: 系统在待机模式(Standby Mode)下
6 A, o; Q1 |3 B+ m- LD2 on: 系统退出待机模式(Standby Mode)# d8 ]. O3 b! J- i. q& c9 Z6 ^
6 H. Q: y. ]. P# V0 a0 j5 F
RCC Example 1) J7 r; @+ G$ x3 x% W" i
本例展示了如何设置系统时钟源,以及AHB, APB2 和APB1预分频。利用PLL设置系统时钟为72MHz。1 u# z7 Z. Z+ K5 i
" V4 ?2 s' I4 E+ w! n  d' B
同时展示了,出于debug目的,如何通过函数RCC_GetClocksFreq来获取片上各个时钟的当前状态和频率。利用debug工具,用户可以通过RCC_ClockFreq结构体,读出当前时钟的各种情况。" P7 }& H1 G) x- r4 k# T7 ]
+ E6 b: e" O4 B$ }) U  x5 O# a
本例同时展示了高速外部时钟故障侦测(High Speed External clock (HSE) failure detection)功能。如果HSE失效,系统关闭HSE和PLL,选择HSI(内部高速时钟)作为时钟信号源,并产生一个NMI(Non-maskable Interrupt)中断。在此中断,授权HSE就位中断(HSE ready interrupt)。一旦HSE恢复,系统将时钟重新配置为先前状态。
0 {/ Y* U* g$ o8 Z- N
, g4 k0 R4 D- K& L: Y, ^7 q2 B在本例程中,4个LED将根据不同的系统时钟频率按照不同速度闪耀。
. l# w% g  o; u0 T% t8 @: V! L& `- A3 i% E7 }
RTC Example 1
3 J) j/ w1 F+ P% k* V2 r本例展示了如何使用外设实时时钟RTC,如何配置RTC的预分频,中断来保存时间和产生Second中断。' D- n* g" e# }9 Y8 Q# j" p1 M  G" z

& Q% c$ T& M8 {使用外部低速时钟(LSE)作为RTC的时钟源。通过取消“#define RTCClockOutput_Enable”的注释,可以把RTC时钟通过管脚PC.13输出。9 M3 H, }6 ^% U7 a; K9 A* A9 }

3 n1 t8 w! p) n  }9 W* oRTC和后备数据寄存器(BKP)一样,即便撤去VDD,仍能通过电池向管脚VBAT供电,因此RTC的配置不会丢失。在本例程中,通过向BKP_DR1写入一个数据作为完成RTC设置的标志。4 g' @! j, J- F
/ l6 r" _5 h" l; @5 z
运行程序:* A' l  D3 S" n. H8 u+ x
1. 检查BKP_DR1:如果数据不正确,表示未设置RTC,因此设置RTC,用户可以通过超级终端设置事件;如果数据正确,则把时间显示在超级终端上。
7 {/ {" f( {1 N; d2. 即使发生外部复位,RTC的配置也不会丢失。! j0 h- t: y: Z2 F
3. 如果发生上电复位,那么只要电池输出连接到管脚VBAT,RTC的配置也不会丢失。8 {; z2 w6 g2 ~8 V) S3 q
8 o, O# z3 h  W" o
在RTC中断(即Second中断)中,翻转PC.06的状态,即相连的LED以1秒为周期闪耀。通过USART1,可以调用printf函数向超级终端输出信息。
2 n6 {5 k) K0 n& s8 R0 o; z  j% s' v5 `
出处:barboon
' m! B- G8 b. Z% ]- Y+ m3 A
9 E" x6 R. L% O# x, q下载:
9 H" N( W/ y- p放上要改程序的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)


" c: [, H' e' H* M下载来学习一下 谢谢
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)

 下载看看
# R$ \0 v! Q8 @/ @ 
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管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版