|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
AT32 系列的单片机里面有两种RTC,一种是RTC另外一种是ERTC,两种RTC的分频值配置略有不同" [) G' z8 {2 [& j! t- `9 U
RTC:
" l7 T) F5 h3 P7 t. u/ g. l2 |5 K5 s! @; y" r( G( k
上图是从官方参考手册上截取的RTC内部框图,从图中我们可以看到,RTCCLK经过20位分频器RTC_DIV分频后得到日历的1Hz时钟,所以我们只需要配置RTC_DIV就行了,分频公式为RTC_CLK/(RTC_DIV+1)' Z& l% |, v" H
例如当外部晶振为32768Hz,那么配置RTC_DIV=32767就能得到1Hz时钟,32768/(32767+1) = 1Hz k( ]' a6 x+ O+ ]2 d. }% E( ~& I
程序示例:. z. Y" W0 Q7 E/ Y7 B( e7 ]9 c
RTC_SetDIV(32767);
% Z) O8 X5 _5 n
7 D. H& L& w5 v6 H) H0 VERTC:
' X4 _7 G0 r1 ]" W! Z3 X- N) m上图是从官方参考手册上截取的ERTC内部框图,从图中我们可以看到,ERTCCLK先经过7位分频器,再经过15位分频器,得到后得到日历的1Hz时钟,所以我们只需要配置7位分频器,以及15位分频器,分频公式为ERTC_CLK/((7位分频器+1)(15位分频器+1))
( W( u# d; i; _6 n例如当外部晶振为32768Hz,那么配置7位分频器=127,15位分频器=255,就能得到1Hz时钟,32768/(127+1)(255+1) = 1Hz3 p/ J# `. x9 [, M( O0 R9 y/ z
程序示例:
6 ? s Z$ {6 l X" Y ERTC_InitStructure.ERTC_AsynchPrediv = 127;% ]0 s7 m8 I. z# R1 m! d
ERTC_InitStructure.ERTC_SynchPrediv = 255;& @ s$ }& q6 }7 R% K* C, c8 A
ERTC_InitStructure.ERTC_HouRFormat = ERTC_HourFormat_24;
/ Y0 g/ d. r8 @& \) P3 f8 X ERTC_Init(&ERTC_InitStructure);
. {+ Q0 ^+ }" C z7 e% D$ L( w$ L" ?: X. w
! J$ d) n" x) v3 E4 N, a& L0 C2 r
1 W; } i9 A7 d+ J: D7 T |
|