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

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

[复制链接]
qazwsx-19104 发布时间:2008-9-3 19:16
PWR Example 19 d) r0 W: |6 [4 A( v! j9 g
本例展示了如何使STM32进入停机模式(STOP Mode),以及如何通过外部中断线来唤醒STM32。在本例中,使用PB.09和实时闹钟(RTC Alarm)作为外部中断源。
( O2 K0 ~+ n+ ?! E) p# x
% t7 f9 @- x( ?9 k2 m0 u6 {  q设置在外部中断线9上(管脚PB.09)检测到下降沿时产生中断。设置在外部中断线17(即实时闹钟RTC Alarm)上检测到上升沿时产生中断,利用外部低速振荡器(external low speed oscillator LSE)把实时时钟的时间基数定为1秒。1 Q) t7 C/ D" B/ f
, @  ?- `4 [+ E7 [+ G
在例程中,系统按照如下模式进入/退出停机模式(STOP Mode):
3 i5 z& j' g2 [2 P! e* @
; `9 X. k7 G8 j2 y& z4 A在系统启动2秒后,实时时钟(RTC)每3秒钟产生一个闹钟事件(Alarm event),使系统进入停机模式以降低功耗。有2种方式可以是系统退出此模式:1.在外部中断线9上侦测到上升沿信号。2.每3秒钟由实时时钟闹钟自动将系统唤醒。0 Z7 K% s! x7 V7 y  i9 D. V

) j6 g! v' ~! d( R4个LED可以表征系统当前的状态:
9 t8 k% V4 p3 I9 c6 F) {- LD1 on / LD4 off: 系统在运行模式(RUN mode)下
' h+ U0 Q+ g+ r$ j( N- LD1 off / LD4 on: 系统在停机模式(STOP Mode)下
: _( F, g# d) Q8 H- O  o3 ?- LD2 状态改变:系统通过外部中断线9退出停机模式(STOP Mode)4 M) o7 r1 c6 f' W6 k
- LD3状态改变:系统通过外部中断线17(实时时钟闹钟)退出停机模式(STOP Mode)- p/ M1 R% A0 r" w

8 r3 b, t( j4 j9 p. dPWR Example 2
; m+ _3 }; H" L# O本例展示了如何使STM32进入待机模式(Standby Mode),以及如何通过外部重置、实时时钟闹钟(RTC Alarm)或者WKUP管脚来唤醒STM32。
* p4 _2 `0 [5 b2 v% ^6 ~3 M: k- i, ]+ o+ f+ j6 L$ M- w5 J' L9 ~
在例程中,设置在外部中断线9上(管脚PB.09)检测到下降沿时产生中断。以及Systick每隔250ms产生一个中断,在这个中断中,改变连接在PC.06管脚上LED的状态,以次来提示系统工作在运行模式(RUN mode)。$ b3 H) n2 e1 Z' G

; O  n$ {$ r4 t/ ~; W一旦在外部中断线9上(管脚PB.09)检测到下降沿,系统将开启实时时钟闹钟(RTC Alarm),每三秒钟产生一个闹钟事件(Alarm event)。然后系统进入待机模式(Standby Mode)。在3秒内,在WKUP管脚上的上升沿或者外部复位都可以把系统从待机模式中唤醒,如果3秒内他们没有发生,那么由实时时钟闹钟自动唤醒系统。% ^" D4 W% W3 c9 M' v# Y
" q+ [% d7 \  t! D8 E5 b) U7 b$ c
系统被唤醒以后,程序执行的顺序与重置后一样,PC.06上的LED开始闪耀,PC.07上的LED被点亮。实时时钟(RTC)设置被保留,因此无须对其再进行设置。8 _* y+ c( ~2 K0 g1 s  d. g2 a

6 O1 j% n. T( r/ b$ FLED可以提示系统当前的状态:! r+ n# H& \# ]; @+ w
- LD1 闪耀: 系统在运行模式(RUN mode)下9 S( ~: m- R. ^8 {' Y7 k# X3 s
- LD1 off / LD2 off: 系统在待机模式(Standby Mode)下! t9 ^# z) u+ o# v
- LD2 on: 系统退出待机模式(Standby Mode)
' Y, `, Y5 W& B/ |1 x  ]9 t' ?( n' r" Y) D" {2 \4 {& {% Z
RCC Example 1! w" |  @0 [* W5 {; a8 K* W3 u
本例展示了如何设置系统时钟源,以及AHB, APB2 和APB1预分频。利用PLL设置系统时钟为72MHz。: I. i4 n1 p( i
2 `! W1 \  J5 B& U7 {- K
同时展示了,出于debug目的,如何通过函数RCC_GetClocksFreq来获取片上各个时钟的当前状态和频率。利用debug工具,用户可以通过RCC_ClockFreq结构体,读出当前时钟的各种情况。) v, X3 F- N! v+ f9 |
9 \' P% r+ I$ ~8 F" g3 ~: m9 G0 q# q
本例同时展示了高速外部时钟故障侦测(High Speed External clock (HSE) failure detection)功能。如果HSE失效,系统关闭HSE和PLL,选择HSI(内部高速时钟)作为时钟信号源,并产生一个NMI(Non-maskable Interrupt)中断。在此中断,授权HSE就位中断(HSE ready interrupt)。一旦HSE恢复,系统将时钟重新配置为先前状态。3 ~& q. B  E8 q& J: {# N! @9 C

8 z9 T2 a8 D3 R6 \在本例程中,4个LED将根据不同的系统时钟频率按照不同速度闪耀。4 F* |. w* i5 P: ~4 [* S

5 n/ s7 \- U  }- `+ G7 wRTC Example 1  i9 R  k4 R% K: f0 x& c- J
本例展示了如何使用外设实时时钟RTC,如何配置RTC的预分频,中断来保存时间和产生Second中断。7 e! v0 R% l( @, e

. r0 U  L2 t: \8 Y6 A# h; z$ J使用外部低速时钟(LSE)作为RTC的时钟源。通过取消“#define RTCClockOutput_Enable”的注释,可以把RTC时钟通过管脚PC.13输出。3 G' k6 F# z* a5 d7 p6 _
* z/ g; t7 @6 C
RTC和后备数据寄存器(BKP)一样,即便撤去VDD,仍能通过电池向管脚VBAT供电,因此RTC的配置不会丢失。在本例程中,通过向BKP_DR1写入一个数据作为完成RTC设置的标志。
) g2 R& h. `  P% s% l
$ P+ q7 n! n2 C; S  D运行程序:
+ C! x6 R3 t* E: F7 }# b1. 检查BKP_DR1:如果数据不正确,表示未设置RTC,因此设置RTC,用户可以通过超级终端设置事件;如果数据正确,则把时间显示在超级终端上。
! n. h3 t, d6 I& A2 N8 n* W5 ~' s: P2. 即使发生外部复位,RTC的配置也不会丢失。% A9 e0 f4 ]+ Y" s, e( M" ?
3. 如果发生上电复位,那么只要电池输出连接到管脚VBAT,RTC的配置也不会丢失。
; @' M! v  T0 ~8 K
! q3 k/ l3 w; U! C, W在RTC中断(即Second中断)中,翻转PC.06的状态,即相连的LED以1秒为周期闪耀。通过USART1,可以调用printf函数向超级终端输出信息。& p% ?* t6 p; U6 c! [

4 P5 z  t0 K0 o; U! {( X出处:barboon
" O  q+ E2 q: Y# x3 b+ I+ c6 E; Y4 D+ v' W
下载:( K7 Q9 ^5 A- w. Z$ M* ]
放上要改程序的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)


) P* h! ~1 h) g下载来学习一下 谢谢
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)

 下载看看
( f% X3 w4 |9 u+ x! D6 d 
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管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版