TA的每日心情 | 开心 2023-5-15 15:14 |
---|
签到天数: 1 天 [LV.1]初来乍到
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
8 L; M" j; `" e9 ^+ J4 C
) a! `/ a* \4 o1、STM32命名规则?
# R; i* u J2 W) V/ q( A, A2 J @6 e! G5 I7 c
例子:STM32 F 103 C 8 T 6 A xxx. d# q. L, N# |2 \
) C% W$ v* R+ N6 x7 W, }( {7 B6 X9 L1 w
其中:% x" N( X2 T; N: P8 Z! D- ], W2 z& m4 _
7 Q$ [3 A* C- V, B
(1) 产品系列
$ Z6 I6 \4 u: X! d
' u3 o9 }. w! p! j& z* q" B" `STM32:基于ARM核心的32位微控制器;: t" G* x8 V6 j) M5 C, N
- z4 l4 D& W/ N$ t1 x+ o+ H
(2)产品类型:
! ?; m4 H3 ?, {9 J+ B
6 s; Q) z# i9 s8 ~5 T2 pF:通用型' Z% Q4 _7 G' F+ `) s+ @
( T- I. F: ], X/ i& s
(3)产品子系列:* ?0 r8 j8 i( D; J* g
) d$ [) q0 s) d- R0 \4 Q2 j/ i101:基本型;102:USB基本型,USB2.0全速设备;103:增强型;105/107:互联型。
6 `; K. O+ v% H
" V" m; \$ T1 k& i(4)引脚数目:
$ `- a2 N+ T; c8 W' O2 P& M3 V7 ~+ X+ _( t/ H- I
T:36脚;C:48脚;R:64脚;V:100脚;z:144脚。
+ @' R9 }7 n5 X4 ^& I3 f7 x
# o' a/ Z- E$ y8 F8 p/ Q(5)闪存存储器容量:2 H: @. t- K. \
% C# P! H* N- f4 n9 d5 @
4:16k;6:32k;8:64k;B:128k;C:256k;D:384k;E:512K。( f2 F$ v2 p X7 M% y
* P; b- I: f0 @, y6 e(6)封装:
8 T& [0 `$ c" s( v' M$ m3 }+ n
, @" \, d/ g4 \5 oH:BGA;T:LQFP;U:VFQFPN;Y:WLCSP64;. h: Q. e7 U S8 D1 b
. b& V& K; D$ d0 n( h- p! c- Y
(7)温度范围:
& v% u4 u4 y* b- G. R
7 n9 C. C m( ~4 S& Z6:工业级:-4:0-85;7:工业级:-40-105.+ B6 |# }* H* h( t" |
2 ^# ?( o% ~- S% {( s8 i N
(8)内部编码:A或空8 T* d( Q+ l) V2 A1 R/ k; \
! x3 J' Z- o! C) B(9)选项:TR编带包装;xxx:三个数字,已编程的器件代号。& x& K9 U4 \) V9 J" E1 l/ O7 K& U) ]8 X8 H
, F3 M( e) O3 I$ p2、stm32中寄存器描述表中rw缩写什么意思?4 g; ~1 J' W: s
5 r1 `7 Q% m: ]" z
read/write 读写2 u: j; R7 ?% b
& d: V0 g4 m/ {( i2 ~: k
3、stm32中寄存器描述表中r缩写什么意思?
7 a5 L' m$ P+ B! H/ ^% v3 X; y( J! x2 \- U
read only只读
3 W5 e( @' T5 P" @, G% Z; ^& _0 \4 h9 U. g/ i$ d# C9 u a% H1 `
4、stm32中寄存器描述表中w缩写什么意思?$ M6 h% T* V; C1 l# `
$ r, L# V: l3 h# B( J$ q7 {' fwrite only只写& R! @( ]" v; m
) l$ t9 X1 ?3 Y( @" ` N. u( R5 v6 y
5、stm32中寄存器描述表中rc_w1缩写什么意思?+ V' m) J* ~6 T/ R6 E
1 P( k& E2 L' Y0 L' d" c- _( `
raed/clear 可读,可以通过写1清除此位,写0无影响;
9 J: j, L; r z3 j8 R# U3 d; \$ t0 |5 x* f# T
6、stm32中寄存器描述表中rc_w0缩写什么意思?
2 j! J9 `, C( ]! a5 J# X6 T9 a; N a0 c* t9 Q H m! h
raed/clear 可读,可以通过写0清除此位,写1无影响;
# y7 j' L9 i3 m3 r0 x8 s, [, W$ {7 n% t5 k1 o! M
7、stm32中寄存器描述表中rc_r缩写什么意思?9 ?* f% g2 d& h( e$ q
/ Z. P3 X" F! m. H0 p" lread/clear by read 可读,在读时自动将此位清除为0,写0无影响。5 Y, p. d+ Y. O8 T8 V
) H: B# {9 D$ p8 S; ]7 o8、stm32中寄存器描述表中rs缩写什么意思?
- H' A1 E1 s; H1 H0 }# W# L0 E. Q8 P' F( D
read/set 可读也可以设置该位" H- E6 p y1 b8 D
" t: C9 q, t( B4 `9、stm32中寄存器描述表中rt_w缩写什么意思?% w2 t v% z/ `/ P. I5 ^: l! e
( ^; _4 h8 Y- Q r* nread-only write trigger 可读此位,写0或1会触发一个事件,但是对该位状态无影响。
! J+ P$ a+ a7 _; U$ a: `
4 k2 F, l! u" p7 Z. ^* S* J10、stm32中寄存器描述表中t缩写什么意思?
3 e W8 }9 I) y B7 C1 B6 x8 h5 g5 ~7 S
toggle 软件只能通过写1来翻转此位,写0无影响。
4 N \+ r* p Y) A- r2 P
" z6 T- {) Y1 ]& f4 l8 v4 j11、stm32中寄存器描述表中Res.缩写什么意思?5 B8 x' z% w( x" t
9 Z7 [6 C) u1 F
reserved 保留位。
/ t7 U! \1 k& w$ d% J' U& S
8 o$ t1 O0 R" B12、stm32的小容量产品,总容量产品,大容量产品分别指什么?
. V. k4 e! ?* A9 n7 y( v W- I9 I( ]4 v. j" J/ L% p; R1 m+ ^) D
指的是闪存器容量:小容量:16k-32k,中容量:64k-128k;大容量:256k-512k。
6 c2 d2 A" ~; \ p( a8 U B6 E. A1 Q$ r# q- u8 I
13、stm32的四个驱动单元包括?
9 Q7 [% J9 D: a) _# Y. \
3 q4 y2 a8 [% b3 \$ {(1)cortex-M3内核D-Code总线(D-BUS);
' T! H% F+ z$ M' \! _" M& f: c" A) v1 H/ x: S: O& x
(2)系统总线(S-BUS);
* C# B+ h8 {6 ]" S5 ?2 P, x$ b/ F. q I1 e( P
(3)通用DMA1;+ J$ X2 n- ^3 H" }0 b' m/ \
$ Z+ y* i J( G ^4 p! ?2 k* {0 m
(4)通用DMA2.+ ?% G% e5 K$ O5 ~( d
* D, }" D( ~9 [* \& g" L! {# k14、STM32的四个被动单元?- J9 J5 P; ]2 k0 O( I2 E( S4 C* \
, U! G2 Z$ E4 _ u- D! v. p(1)内部SRAM;
, B3 L$ J. U( F) u& U# r* z
5 j, O2 K+ l; A2 g/ r6 }4 Y(2)内部闪存存储器;
4 p, `; t* Y i/ u7 y$ g% n U
1 @3 Y- d4 V( R0 i3 x1 \2 X$ k(3)FSMC;
: i$ X1 I9 c" s& I( M1 I% Q8 Z4 Z( [, |8 T1 j) W
(4)AHB到APB的桥(AHB2APBx),他连接所有的APB设备。( H8 L( U7 ~+ K, y1 ?, t) M
9 c, O" A! ]4 |8 _3 ~0 h15、互联型STM32与基本型STM32的驱动单元和被动单元有何不同?
% \) X6 h; B4 o0 S- v
% y: I T G$ ?% [5 {+ M! Z. L6 i(1)驱动单元多出了以太网DMA;
4 T1 ?6 T; H( C* \, r3 Z; W5 V$ x1 M5 Z! m+ i( r8 q
(2)被动单元没有FSMC。. U4 R9 H8 @% j" m3 z3 z
- D+ Q3 z8 m) k" C1 P16、什么是ICode总线?
i, [2 s/ z/ y
3 F5 T2 T b# r: u5 U$ J该总线将Cortex™-M3内核的指令总线与闪存指令接口相连接。指令预取在此总线上完成。
# ]4 ?, P- z8 ?
3 }. O% @ \. x2 }. q" M2 P2 B9 }& i7 U17、什么是D-Code总线?
8 {) [9 u& v: U7 m1 [8 X6 H4 Y! n: f8 ]% h
该总线将Cortex™-M3内核的DCode总线与闪存存储器的数据接口相连接(常量加载和调试访 问)。
# P3 P& ?" t; U6 {8 E( T, u" c( P+ I: j5 b5 {$ N
18、什么是系统总线Sbus?
6 W3 K0 _" }4 s6 u3 m3 w
4 k$ A& N( d4 ?0 l此总线连接Cortex™-M3内核的系统总线(外设总线)到总线矩阵,总线矩阵协调着内核和DMA间 的访问。( L6 ?) l4 s# Z$ {( R
B1 w( A8 t* F: r
19、什么是DMA总线?# m# \) ~$ _7 d" O) D
8 o" f* O8 X) {% {' V$ Q
此总线将DMA的APB2主控接口与总线矩阵相联,总线矩阵协调着CPU的DCode和DMA到 SRAM、闪存和外设的访问。( [) A6 u. \, J* c* O. @. p
4 c' E3 _! k9 n* |+ n
20、什么是总线矩阵?! m! ]7 T* q9 z" d, @4 z
# A- o2 r' i/ q9 a3 Q3 O! w( _
(1)总线矩阵协调内核系统总线和DMA主控总线之间的访问仲裁,仲裁利用轮换算法。在互联型产品中,总线矩阵包含5个驱动部件(CPU的DCode、系统总线、以太网DMA、DMA1总线和 DMA2总线)和3个从部件(闪存存储器接口(FLITF)、SRAM和 APB2 2APB桥)。在其它产品中总线矩阵包含4个驱动部件(CPU的DCode、系统总线、DMA1总线和DMA2总线)和4个被动部件(闪存存储器接口(FLITF)、SRAM、FSMC和 AHB2APB桥)。
9 D# ~- c2 B3 t" Z
8 r& z$ ]1 \, O0 Z& L- J(2)APB2外设通过总线矩阵与系统总线相连,允许DMA访问。
$ l) m! C" e$ ?1 Z0 H( O) }* {9 T2 v( U
2 }0 H- J7 F& b5 ]3 u& `21、什么是AHB、APB桥?
$ ?4 L) X- y8 M( _- O4 ]# S G/ c G/ x
(1)两个AHB/APB桥在AHB和2个APB总线间提供同步连接。APB1操作速度限于36MHz,APB2操作于全速(最高72MHz)。8 G0 L" `4 @ R# Z2 W7 V" Q5 w
; J* U' g- b! U- x& o
(2)在每一次复位以后,所有除SRAM和 FLITF以外的外设都被关闭,在使用一个外设之前,必须设置寄存器RCC_ AHBENR来打开该外
* P `" w4 f: u$ }3 R, @; o5 b' } _3 u+ Q% `
设的时钟。# `; |+ Z0 k6 `5 A- J9 F4 r8 |
2 j# M- C! ?8 I Z6 u$ u(3)当对APB寄存器进行8位或者16位访问时,该访问会被自动转换成32位的访问:桥会自动将8位或者32位的数据扩展以配合32位的向量。
7 P( p6 T8 _0 s2 A3 ^
% X" R# E$ a2 Q! z) G. e22、STM32数据字节是小端模式还是大端模式?! Q# r0 m, R. j" [
( O" S D; k2 {6 a7 s
数据字节以小端格式存放在存储器中。一个字里的最低地址字节被认为是该字的最低有效字 节,而最高地址字节是最高有效字节。
$ ]+ r" k( y0 y# k% q, [7 V: Z7 [1 R& `. y4 P& }7 j, V1 r. T+ P9 D
23、STM32的地址空间多大?) s4 ~6 O, Z: B+ Z9 h/ f) p
+ |. P$ F8 n; o& F% g4 b6 B+ T" i程序存储器、数据存储器、寄存器和输入输出端口被组织在同一个4GB的线性地址空间内。- z* ?: V7 s: n
2 n9 N- {6 ~% w24、STM32中USB OTG的起始地址是多少?使用总线是哪个?
$ Q! u2 x* g6 e3 V# ^6 O+ E# F+ M) b S% \; Y) Z1 m8 D, q
0x5000 0000~0x5003 ffff;使用AHB总线。! f' I. V3 ?/ w/ ]! O2 S) J
# R, p) ^2 z' k* q: n! _# B25、 STM32中以太网的起始地址是多少?使用总线是哪个?. s6 Y3 L8 b. S; }/ [1 P
- a* K- A: {2 @% h Z
0x4002 8000~0x40029fff;使用AHB总线。' C8 E+ w* I# J
$ y# h0 D# X3 L9 W7 p4 t/ ~+ E) f26、STM32中CRC的起始地址是多少?使用总线是哪个?
, q E0 L0 J e; U4 a2 c. M* q( S6 [& G0 b1 I
0x4002 3000~0x4002 33ff;使用 AHB 总线。7 ] R0 z4 y' O
9 {0 M( U+ V2 [& p
27、 STM32中闪存存储器接口的起始地址是多少?使用总线是哪个?
4 u8 ?7 k: \- R6 l- ~: b8 H/ ~5 R+ c2 ?
0x4002 2000~0x4002 23ff;使用 AHB 总线。! M, `% O- _7 Q
& {: N( t# L( V/ Z$ E6 A$ V, t
28、STM32中复位和时钟控制(RCC)的起始地址是多少?使用总线是哪个?
2 Y6 W! K7 U) A. R
" A5 Q* e. x" e' o+ L7 E0x4002 1000~0x4002 13ff;使用 AHB 总线。
+ M& c7 s" {5 ~2 N i- S
^) {) K2 G6 _/ \29、 STM32中DMA2的起始地址是多少?使用总线是哪个? [; k0 P/ { K
- J2 \7 m: I0 K
0x4002 0400~0x4002 07ff;使用AHB总线。
7 f( F# ^- e1 ]# A; \/ M7 \2 A ~1 b) L8 n" Z0 `& f
30、STM32中DMA1的起始地址是多少?使用总线是哪个?" u( E3 l9 f& d+ g
: o) A; @- Z, Y+ x1 e0 m
0x4002 0000~0x4002 03ff;使用AHB总线。. B0 m" T5 I& t, C( a
) t8 _6 p2 C0 i9 U( J: R31、 STM32中SDIO的起始地址是多少?使用总线是哪个?, r b( m$ e% G# v0 ?
R$ P3 i/ I) W, a# u0x4001 8000 - 0x4001 83FF ;使用AHB总线。
! B% R. q, X! j( D" i$ Q6 P
+ [9 B% @* V; [7 S/ Y32、STM32中ADC3 的起始地址是多少?使用总线是哪个?2 I- ]2 `$ [% _% y5 R
6 Z3 t/ S2 }, T8 J% f& z) u1 |
0x4001 3C00 - 0x4001 3FFF;使用APB2总线。
" l+ k, L3 I) o' e k: {
+ Q" v" V1 y% E# V33、STM32中 USART1 的起始地址是多少?使用总线是哪个?
4 O3 `; M- O) u0 @% ?
& H9 d f$ @8 ~6 W3 q7 k" d# I0x4001 3800 - 0x4001 3BFF ;使用APB2总线。5 I; W8 V @5 I1 f- q
& {. X3 y! ?7 j/ M! o/ u34、STM32中TIM8定时器的起始地址是多少?使用总线是哪个?
5 Y& _3 N- `; t4 L. ~; J7 w& @! x* i5 \# S6 b& q0 {& G
0x4001 3400 - 0x4001 37FF;使用 APB2 总线。
, D( a( p4 @2 A3 u4 y0 v2 u8 a) Z6 q) J; p4 ~: n, {$ S$ M3 ]2 W
35、STM32中 SPI1 的起始地址是多少?使用总线是哪个?( f, @& E( O# A, \. e
2 B5 C, _! i" n/ c0x4001 3000 - 0x4001 33FF ;使用 APB2 总线。/ Z4 Y' p# Y$ B9 Q7 y
1 ^0 Y0 ]& u/ }# M
36、STM32中TIM1定时器的起始地址是多少?使用总线是哪个?
2 q7 I( U6 K! Y! W9 t& s1 e, H
5 c. I1 h/ f! B2 k: h$ v0x4001 2C00 - 0x4001 2FFF;使用 APB2 总线。
% g+ l3 {1 {4 e- }% ?1 ]3 [1 W% H& C4 T8 L: W6 c2 V
37、STM32中 ADC2 的起始地址是多少?使用总线是哪个?4 {4 p' _0 C* Y% K
/ w' {* C0 ~( } b9 {; i" O& O2 N
0x4001 2800 - 0x4001 2BFF;使用APB2总线。$ }; O# }6 S0 \3 }" f! B
/ `; @) r$ t" E( E# T9 @5 {1 L
38、STM32中ADC1的起始地址是多少?使用总线是哪个?
6 Q& l* k7 T' o) f' E4 H2 _; m6 w& j, K2 |4 d- _5 w. g
0x4001 2400 - 0x4001 27FF;使用APB2总线。: W% w& i/ y; |% K, K
( }# ~! _3 K8 X! a: @0 N& ?7 I39、STM32中 GPIO端口G 的起始地址是多少?使用总线是哪个?$ x& x' e5 v- |+ r( Z( H9 u9 W
$ F+ o- i/ A0 K6 s4 h
0x4001 2000 - 0x4001 23FF ;使用APB2总线。; ^7 N# d% W( o# F! j: |
6 j ^5 d, U2 g8 I$ S& d40、STM32中 GPIO端口F 的起始地址是多少?使用总线是哪个?
A& Y) L; O% D/ E
5 C! a: L7 `7 J+ u8 A* \' V( ^+ u0X4001 1C00 - 0x4001 1FFF ;使用APB2总线。! F Y! J `1 i- ]/ ^1 L. Y6 N
0 h) x+ o# c9 H0 t+ Y" t
41、STM32中 GPIO端口E 的起始地址是多少?使用总线是哪个?
( k/ e: E) N0 s- ~+ I: k3 a; Z
# c4 H2 ~: W" Z+ `6 k0x4001 1800 - 0x4001 1BFF ;使用APB2总线。
5 Y( S) V. R3 `2 c: x$ ]' `& O, f2 h* z6 }
42、STM32中 GPIO端口D 的起始地址是多少?使用总线是哪个?. v! W# P# L: Q# k* H; D
4 o( M9 N$ P0 k
0x4001 1400 - 0x4001 17FF ;使用APB2总线。: R* g, V R1 \$ r7 N
7 X9 _! \# e( j4 w: `7 `4 h43、STM32中 GPIO端口C 的起始地址是多少?使用总线是哪个?
3 c) [5 k* ?$ S! [2 v: [6 e& k7 _9 U; Y5 t% [# P& T# J
0x4001 1000 - 0x4001 13FF ;使用APB2总线。
# `+ @6 M3 o6 Y2 r+ D9 G6 {+ k0 o6 n' G$ A8 `1 ]8 j
44、STM32中 GPIO端口B 的起始地址是多少?使用总线是哪个?1 |9 Y7 Z' f" ]" R6 i. [; [2 I$ \
d" h" k2 u2 N% t0X4001 0C00 - 0x4001 0FFF;使用APB2总线。- G# y3 l( I; c9 d( |; Q5 X
/ e- \: I6 B( w; }4 @* g" q
45、STM32中 GPIO端口A 的起始地址是多少?使用总线是哪个?
: Y# t! I |$ c1 W, C+ P
2 v( D, I6 {- T, k$ U, O' w4 ?0x4001 0800 - 0x4001 0BFF ;使用APB2总线。
/ s- H# `; L- c8 J& M' G
$ M1 E) C2 ~. ^+ n: X46、STM32中 EXTI 的起始地址是多少?使用总线是哪个?9 P: f6 `; l( a- d K( v6 N
$ ~2 q8 @) u" t( I+ c0x4001 0400 - 0x4001 07FF ;使用APB2总线。( P' P; d H: {" P. r
4 M1 ^+ ]+ [- x; x- m( W2 {
47、STM32中 AFIO 的起始地址是多少?使用总线是哪个?2 J) O0 }& x- t& L! e F b
0 C; H" h4 \3 @6 f0x4001 0000 - 0x4001 03FF;使用APB2总线。
" R) o2 F( D) Z/ s( U9 [3 Y$ s+ s
////////////////////////////////////////////////////////////////////////////////////////
/ H0 p2 D# Q- v: a0 u% }2 b9 [ {
48、STM32中DAC 的起始地址是多少?使用总线是哪个?
) @0 V3 k' n S1 w2 x3 S3 T1 ^ k3 f, ^3 r+ {6 L4 _
0x4000 7400 - 0x4000 77FF;使用APB1总线。+ [, c# t% \2 d1 l
4 ^9 w& g+ Y9 t- @
49、STM32中电源控制(PWR) 的起始地址是多少?使用总线是哪个?. J! m' P t3 G5 v; o( _" ^
* B* ]0 A4 P8 W2 A0x4000 7000 - 0x4000 73FF ;使用APB1总线。
/ i) v5 x C" @/ x' D+ T |) y6 M( O- e- t" ~. `' Y0 K
50、STM32中后备寄存器(BKP) 的起始地址是多少?使用总线是哪个?
6 l$ m* v/ j. R: `
7 B' O3 U" U' x/ C8 Z: V+ t0x4000 6C00 - 0x4000 6FFF;使用 APB1 总线。
7 F j8 ]! ?" m8 \' N8 F8 X( M. \7 L% R9 M7 y2 |# e/ u8 |# e9 @
51、STM32中bxCAN2 的起始地址是多少?使用总线是哪个?
# a# R( M( W+ G' W
9 w; i3 h4 u6 S# [; v( m" I& m0x4000 6800 - 0x4000 6BFF;使用 APB1 总线。
w' l9 d' E( @5 }. J& Z9 p7 S/ Q* d
52、STM32中bxCAN1的起始地址是多少?使用总线是哪个?# m7 U$ e! ^1 g0 D5 e f
2 m6 \* m/ [8 b' @0x4000 6400 - 0x4000 67FF;使用 APB1 总线。, C4 {' w$ |# F3 {- D1 U* @) F
3 b& `0 O0 Q) v6 t* g53、STM32中USB/CAN共享的512字节SRAM 的起始地址是多少?使用总线是哪个?
: P+ v+ W; l6 m) @# X9 W/ e/ L) M9 {" d+ s
0x4000 6000 - 0x4000 63FF ;使用APB1总线。: x# J" f2 i4 m
; M, S1 f, P* ]/ v6 z `
54、STM32中USB全速设备寄存器的起始地址是多少?使用总线是哪个?
4 h+ l1 ~$ ~& L6 S+ f- X$ D4 B% J% n1 F, k, g* v" F
0x4000 5C00 - 0x4000 5FFF;使用APB1总线。
1 j; l6 G0 K \7 x. L4 o3 w! y/ v ]- D+ V8 q
55、STM32中I2C2 的起始地址是多少?使用总线是哪个?$ ^* d7 i a7 |' d G5 x' M. D* Y
5 Q- ]# x$ l! o3 |7 i2 y; Y" z
0x4000 5800 - 0x4000 5BFF ;使用APB1总线。+ n4 H) e1 y3 d3 M) P# ?
6 R3 U" U' n3 r' a7 m, U7 O
56、STM32中I2C1 的起始地址是多少?使用总线是哪个?
$ d' [" Q* T8 y" z8 p& @$ P( V+ Y' u6 e" m8 {1 h: q7 b, J9 b2 Q
0x4000 5400 - 0x4000 57FF;使用APB1总线。" ~7 P+ G" q: d1 w, J
q/ s' Q/ Z2 Z5 u57、STM32中UART5 的起始地址是多少?使用总线是哪个?( g9 p' {$ p; [
" C" R$ X5 m) R$ z8 g# _$ z
0x4000 5000 - 0x4000 53FF ;使用APB1总线。3 T9 T$ s$ H8 t! B' G* u
' x% I9 Q, g7 U" f* y- e
58、STM32中UART4的起始地址是多少?使用总线是哪个?
# j5 i9 @ g" ^# L+ G. [0 h- T6 g& k- X8 W% [+ L' e
0x4000 4C00 - 0x4000 4FFF;使用APB1总线。& [1 E) L2 ]" v) D5 D, @- c
; v( q/ |, N* {+ |3 O4 @59、STM32中USART3 的起始地址是多少?使用总线是哪个?4 Z; R) q S! u5 m
+ G6 T4 P4 j) H5 n9 ^3 }# j
0x4000 4800 - 0x4000 4BFF;使用APB1总线。7 h5 E {# `! j5 u
- f7 B+ t: }' {; u60、STM32中USART2 的起始地址是多少?使用总线是哪个?$ g! A, k- s$ e H# \0 t1 W& C
5 ?& S$ {+ I% x5 ~5 q" Z/ U" y
0x4000 4400 - 0x4000 47FF;使用APB1总线。
8 N- B+ k3 _$ D0 e6 d* o
- V3 `! h9 M2 ]6 _# Q9 i2 M0 l4 D61、STM32中 SPI3/I2S3 的起始地址是多少?使用总线是哪个?2 u( K8 P6 o) {/ g5 f
1 W: k* ]' @0 h5 \
0x4000 3C00 - 0x4000 3FFF;使用APB1总线。: h0 t8 S8 H+ b- a$ P& F, l
; s2 ^: M5 E" F: i; U$ Y* ?2 f0 v" m; T
62、STM32中SPI2/I2S3 的起始地址是多少?使用总线是哪个?2 s/ b$ m: {* N0 I4 [
( V& \4 t# `% V: C. Q( M- `
0x4000 3800 - 0x4000 3BFF ;使用APB1总线。
& W8 U: |( Z# G
$ S ^- y! b9 c; y# S0 Z) V/ V0 ^2 I63、STM32中独立看门狗(IWDG) 的起始地址是多少?使用总线是哪个?
9 T0 @& ]# {+ \8 `
' k* i, K* L+ @0x4000 3000 - 0x4000 33FF ;使用APB1总线。4 l5 ~+ T1 m; ^9 Y0 a2 K" c
, @0 G9 V# n9 M* Y9 u" R f
64、STM32中窗口看门狗(WWDG) 的起始地址是多少?使用总线是哪个?7 M* [2 N. X" V3 L$ O, J
/ n& B% g& |! Q# Y' X3 G4 C! m0x4000 2C00 - 0x4000 2FFF ;使用APB1总线。
! T% I Q/ c) `" P" m* R- D" X; y1 a- M' b5 m
65、STM32中RTC 的起始地址是多少?使用总线是哪个?
4 t+ H% L) a+ Q3 m" B$ ?5 \$ M" w+ B! f" q1 c3 B
0x4000 2800 - 0x4000 2BFF;使用APB1总线。( _: P. c6 |- d" P; F) r" v
% w1 y% h; ]9 Q) H66、STM32中TIM7定时器 的起始地址是多少?使用总线是哪个?
7 V) v3 ~' \' B, i
3 G# x# l$ B5 [0x4000 1400 - 0x4000 17FF;使用APB1总线。
$ J% Q8 A q) N: D" n
# T# ^4 a" n0 h. y) v0 c! M67、STM32中TIM6定时器 的起始地址是多少?使用总线是哪个?
6 f/ j( m7 ~1 T! k% v8 s9 ~' _+ ~7 H( @1 C3 p. ^! o
0x4000 1000 - 0x4000 13FF ;使用APB1总线。" F7 {' K; M/ M" P0 B4 \
: m7 ~" e+ R2 t' t9 f) Z) T7 M3 W68、STM32中TIM5定时器的起始地址是多少?使用总线是哪个? |& m: }2 y% L: L/ e
) e$ a$ O, j6 g7 w* i! {
0x4000 0C00 - 0x4000 0FFF;使用APB1总线。
- I/ i2 C- m) R1 O* G0 p2 J" H9 \! E" u [
69、STM32中 TIM4定时器的起始地址是多少?使用总线是哪个?
- Z! a- o' k5 W! P- Y: Q+ \
( x, n/ a0 {5 f7 Q: t6 P0x4000 0800 - 0x4000 0BFF ;使用APB1总线。
4 r0 Y! o7 W" j
% B6 v+ B K% ~, `9 \( W70、STM32中TIM3定时器的起始地址是多少?使用总线是哪个?; n; ]# }2 S3 C6 n3 t4 I
1 G) k6 a6 T+ C f- f4 m J4 _. @' k/ {0x4000 0400 - 0x4000 07FF ;使用APB1总线。/ ?' W7 |" s7 d2 x6 V7 O
5 o$ t v4 \* M6 F j! p71、STM32中TIM2定时器 的起始地址是多少?使用总线是哪个?, A8 K( F. n3 E4 X& r
7 _8 a/ x/ S: A* l- o0x4000 0000 - 0x4000 03FF;使用APB1总线。) ?) t0 J/ X" A
q( a: b+ z$ X7 J# X/ F72、STM32F10xxx内置SRAM的容量,访问方式,起始地址分别是多少?9 Q3 X9 N4 c. y( e6 n! t
9 h% e# [- g( t6 R6 N4 Y
(1)STM32F10xxx内置64K字节的静态SRAM。
% m t+ q' G3 b H2 m, ~
$ ]" C2 z5 J: Z2 i6 k% q" B (2)它可以以字节、半字(16位)或全字(32位)访问。9 \) M& F' ^' W8 w1 a- f
* l& h! y; P) Z
(3)SRAM的起始地址是0x2000 0000。
9 o8 I" _& D8 s0 z( _0 w/ |9 l: @' l t) { z; \4 S b. P
73、STM32别名区中的每个字是如何对应位带区的相应位的?: |2 q+ F$ R' y! c
% G2 o, C. }7 s7 U/ c! |$ n
bit_word_addr = bit_band_base + (byte_offset×32) + (bit_number×4)' J4 A3 C( j) q$ k0 W
, `0 G" Z& v7 `3 q) ^+ m7 @其中:' L, s6 O# a% T M2 g
% I+ }+ V7 E2 T8 C% W [8 n0 G6 Tbit_word_addr是别名存储器区中字的地址,它映射到某个目标位。
/ m8 \$ I$ a% j2 e% l5 r2 I# Z+ g d
bit_band_base是别名区的起始地址。2 L! a! u7 N! W6 x% P
; d- }5 o" q: ?5 b
byte_offset是包含目标位的字节在位段里的序号
4 H9 C* ? {: w" f# N% a. h$ g. Q6 n
- x2 L C2 ~4 l5 V" \0 F$ o4 jbit_number是目标位所在位置(0-31)
+ S3 w- c2 c9 S6 {
1 f2 q- D7 x& r; S$ f; \% ?; a 最后一位乘4的原因是一个word占四个字节,32位。2 R b) _. P d" c6 [
% Q, n0 c* O- U
比如: 0x22006008 = 0x22000000 + (0x300×32) + (2×4). 对0x22006008地址的写操作与对SRAM中地址0x20000300字节的位2执行读-改-写操作有着相
6 c$ H0 n5 B# c' D' @3 Q: k* t$ E/ G! y5 Q9 }& p( x, I
同的效果。
( d6 ^6 V; y9 S. v- M6 H# o% b2 Z; `0 j7 l: ~) r, C
74、STM32闪存存储器接口的特性?
' a% O( y, s1 W! F' `2 {4 D* z$ W0 ]7 y/ ]% U2 L
● 带预取缓冲器的读接口(每字为2×64位)3 |: m5 \3 [9 {+ D' z/ ^9 g
3 z% e- _8 `+ V
● 选择字节加载器( i- T6 i! T( m) O6 T
- L+ d8 E W J8 J% E) O: v2 r! l+ Y8 Q0 n# H● 闪存编程/擦除操作0 e; ^( _; l6 Q/ c8 P4 X
. Q2 M7 w/ _7 {
● 访问/写保护
8 ^5 z: R+ W$ R" W, z3 s0 Z
5 m _1 C7 Y+ R" `& ^0 \- v( j! c75、闪存存储器分为哪两部分?
. |+ M, \8 j* X0 e) F3 q' n: l) b; `4 b j/ R$ o. i3 N
闪存存储器有主存储块和信息块组成:9 g K. [2 F5 S, y! m% A
; n/ `3 M& S, Y5 l
(1)主存储块:
7 T8 s5 y* I/ m1 H9 \+ m( h- v0 h
& s$ A( s* Z' w, N 小容量产品主存储块最大为4K×64位,每个存储块划分为32个1K字节的页;
* B) o2 V; M% k! x
# Q7 C: p) N+ c/ Q0 m1 |中容量产品主存储块最大为16K×64位,每个存储块划分为128个1K字节的页;! _: z, h# [9 |9 T _. U
& t8 G e4 o( J* w* `% B7 |( q
大容量产品主存储块最大为64K×64位,每个存储块划分为256个2K字节的页;% y. k+ C, N8 X" n6 u5 z2 s% G. ~
8 c. G% x. J e9 g互联型产品主存储块最大为32K×64位,每个存储块划分为128个2K字节的页。
9 x- a+ L2 [" ^5 }1 n
0 j* Y8 R# O( A3 W: g( Q5 \- @ (2)信息块:. ]5 O/ n+ l' @5 g$ E" ?
3 z: q* s; M/ K! }" T
互联型产品有2360×64位,其它产品有258×64位。! [3 e! n$ J5 [( u* N* b
3 L% a( N9 \3 f* l q& n76、STM32闪存的读取是怎样进行的?
# b9 \3 X+ [7 E4 m: \: P
1 N7 x; f' ^4 L" `3 E (1)闪存的指令和数据访问是通过AHB总线完成的。
# p4 a9 c5 ?. ]- f- c3 ]1 T, P" a5 Z& m) d* Z' X5 F
(2)预取模块是用于通过ICode总线读取指令的。
! a& M) h$ f' c. d* a6 Z
( Y" _' k" b g (3)仲裁是作用在闪存接口,并且DCode总线上的数据访问优先。. G& } F$ T8 f# i7 Z& x
+ K5 L7 y2 Q% i1 s5 [. U5 [* I" j& T77、STM32读访问有哪些配置选项?
/ t8 {* v0 ?3 U. M$ c3 O4 P: p2 C! z$ |9 V
(1)等待时间; _1 h' t% V+ Z9 v G9 `
; t- p* Z( T% K" h& I
(2)预取缓冲区(2个64位);+ D. ?$ F9 _4 E8 T6 C8 X
: I! s* k$ _7 T2 ~, d+ g
(3)半周期。4 R6 X# E; t1 ^. N' a4 @5 D
: D1 Q# j [/ g
78、如何理解STM32读闪存中的等待周期的配置; ~1 r- v! a$ X$ A* B
& p& E1 v$ H v. L. w5 O6 d
(1) 等待周期体现了系统时钟(SYSCLK)频率与闪存访问时间的关系:3 L/ q) o% r; E
2 `& }4 M8 }% V- _4 o% t( Q3 [0等待周期,当0 < SYSCLK < 24MHz7 F& C4 ?+ G$ q" O6 t# z
( z6 m/ l c* ^! P, C# A
1等待周期,当24MHz < SYSCLK ≤48MHz4 h J8 O6 I5 P6 \+ I
- }/ v3 F' r: A; l q& a
2等待周期,当48MHz < SYSCLK ≤72MHz 。
4 n! O/ f! T! J, p" H$ o$ D! T( b4 S3 X( h
(2)可以随时更改的用于读取操作的等待状态的数量。! C1 B* |/ M0 L5 [% C
+ T6 B e) [4 P8 E4 q" o1 w7 q
79、如何理解STM32读闪存中的半周期的配置?
' u+ Q% m: F+ A' ?! N! p @' v$ }. N9 {! R" k) ?- j
(1)半周期配置用于功耗优化。
' M( y9 g+ v9 n5 ^$ m4 ^: {! T) r; |# [7 J# h& U, E. k) E, _$ K
(2)半周期配置不能与使用了预分频器的AHB一起使用,时钟系统应该等于HCLK时钟。该特性只能用在时钟频率为8MHz或低于8MHz时,可以直接使用的内部RC振荡器(HSI),或者是主振荡器(HSE),但不能用PLL。' K3 ]; F5 }; ], v+ N6 w
8 ] i3 R. |* D' u6 A0 I+ {2 I7 @4 U* M80、STM32的预取缓存区的好处?! {) L, Y' t( h
) e0 c6 a( K. q. Q# m
(1) 在每一次复位以后被自动打开,由于每个缓冲区的大小(64位)与闪存的带宽相同,因此只通过需一次读闪存的操作即可更新整个缓冲区的内容。
! d1 m: U# n3 }
% d' s& k) h9 k. D% A5 H (2)由于预取缓冲区的存在,CPU可以工作在更高的主频。( B& w/ v* y" ^: t: ?+ I6 B1 c& f0 w
' P) U7 J3 o# f) b2 i (3)CPU每次取指最多为32位的字,取一条指令时,下一条指令已经在缓冲区中等待。) b! I/ t, U) Y& S
# S v" r( k H+ I
81、开启预取缓存区需要注意的关于时钟的问题有哪些?
( h1 r0 e* e! o+ W8 g. {7 d/ P, T% d" Y) t2 {
(1)当AHB预分频系数不为1时,必须置预取缓冲区处于开启状态。
0 v1 O/ h7 n: i
( S2 D* @; n) q (2)只有在系统时钟(SYSCLK)小于24MHz并且没有打开AHB的预分频器(即HCLK必须等于SYSHCLK)时,才能执行预取缓冲器的打开和关闭操作。一般而言,在初始化过程中执行预取缓冲器的打开和关闭操作,这时微控制器的时钟由8MHz的内部RC振荡器(HSI)提供。
7 Z. q6 `( c0 Q" o
s9 Y5 `+ E; ~ ?82、如何使用DMA访问闪存存储器?有何优势?
. ]0 y G$ K7 T! Q( {" |. E- l: @& K0 ~% @
DMA在DCode总线上访问闪存存储器,它的优先级比ICode上的取指高。DMA在每次传送完成后具有一个空余的周期。有些指令可以和DMA传输一起执行。1 f7 v/ S h/ o' r7 `6 u
& L0 j8 f& f4 ~% ~' A83、如何理解STM32闪存的编程与擦除?% N5 [ V# l+ {4 X1 S/ _
& u# D4 | N7 |1 J6 N
(1)闪存编程一次可以写入16位(半字)。
/ M6 F, j; V3 T0 w; x3 y/ @
; [% T0 Z9 }" V8 s (2)闪存擦除操作可以按页面擦除或完全擦除(全擦除)。全擦除不影响信息块。
' v) s f" D/ v" c" U) @: p8 @# s; j3 A( Z$ q
(3)为了确保不发生过度编程,闪存编程和擦除控制器块是由一个固定的时钟控制的。
# {: {7 d i; J
& z$ f; @. J& s8 \* _, L' C0 {, T (4)写操作(编程或擦除)结束时可以触发中断。仅当闪存控制器接口时钟开启时,此中断可以用来从WFI模式退出。) N6 D1 E, S. |6 ]4 P2 J& }7 J
5 H) X7 o' X# O% i( V' b- Q5 {9 w
84、如何配置STM32的三种启动模式?
. j' _9 u* W/ b; z- Z& f b
" w/ O( x% A6 M) b (1)在STM32F10xxx里,可以通过BOOT[1:0]引脚选择三种不同启动模式。* P. u1 z, l4 ~; `
6 @: `. K' ~6 Q! C, X$ g: Z
(2)boot0=0,启动模式为主闪存存储器,主闪存存储器被选为启动区域7 V* X3 _1 _( d1 u3 X% C) [' F7 B
9 K7 t: }1 P. k2 ^! z
(3)boot[1:0]=0x01,启动模式为系统存储器,系统存储器被选为启动区域;0 s J& q( I- H8 r) _
* D) e3 z# c+ {/ I0 V* `
(4)boot[1:0]=0x03,启动模式为内置SRAM,内置SRAM被选为启动区域;' ?" d0 Y0 K0 C6 `' W' r) o
- b* l& b! l* U: n85、STM32进入启动模式的两种情况?
1 U! v$ W/ y+ g5 h1 H% r9 z% B2 Z4 A, p
(1)在系统复位后,SYSCLK的第4个上升沿,BOOT引脚的值将被锁存。用户可以通过设置BOOT1和BOOT0引脚的状态,来选择在复位后的启动模式。
& x8 [% R, `, C& I2 G" k6 m8 V v) F) I/ [& s1 L
(2)在从待机模式退出时,BOOT引脚的值将被被重新锁存;因此,在待机模式下BOOT引脚应保持为需要的启动配置。在启动延迟之后,CPU从地址0x0000 0000获取堆栈顶的地址,并从启动存储器的0x0000 0004指示的地址开始执行代码。
* o( h0 G" P( q3 f/ `' C) N$ B' U/ R
86、主闪存存储器、系统存储器或SRAM三种启动模式访问方式的不同?4 Z: t+ \0 _) h; Z
0 c' T/ T7 I0 c6 \& k e (1)从主闪存存储器启动:主闪存存储器被映射到启动空间(0x0000 0000),但仍然能够在它原有的地址(0x0800 0000)访问它,即闪存存储器的内容可以在两个地址区域访问,0x0000 0000或0x0800 0000。
6 ]2 P L; s4 |1 i7 W
; V. W% z/ j" W5 }2 `(2) 从系统存储器启动:系统存储器被映射到启动空间(0x0000 0000),但仍然能够在它原有的地址(互联型产品原有地址为0x1FFF B000,其它产品原有地址为0x1FFF F000)访问它。% @# v* i7 ]9 ]. @' D' V
3 U- \, {* p& w! o: h(3)从内置SRAM启动:只能在0x2000 0000开始的地址区访问SRAM。
, r- m7 e3 U4 F. w' q3 \1 n0 w; G& u
备注:当从内置SRAM启动,在应用程序的初始化代码中,必须使用NVIC的异常表和偏移寄存器,重新映射向量表至SRAM中。
5 \( _' g; l6 P& D1 a4 |# Z5 t- ]+ R& w
87、如何启用STM32的自举程序?! B9 o2 B: P" v" c' B
, B1 I2 T( B1 w$ ^* q- T
(1)内嵌的自举程序存放在系统存储区,由ST在生产线上写入,用于通过可用的串行接口对闪存存储器进行重新编程:% g, M' L6 V* v" |# u6 f) P
3 O, R1 V0 K- z. M, z/ P) [1 w (2)对于小容量、中容量和大容量的产品而言,可以通过USART1接口启用自举程序。
. W4 Q9 R# b& N, h/ P. R& F
% E% ] T ]4 \% w. @( l (3)对于互联型产品而言,可以通过以下某个接口启用自举程序:USART1、USART2(重映像的)、CAN2(重映像的)或USB OTG全速接口的设备模式(通过设备固件更新DFU协议)。USART接口依靠内部8MHz振荡器(HSI)运行。只有在外部使用8MHz、14.7456MHz或25MHz时钟(HSE)时,才能使用CAN或USB OTG接口。
( |- k3 Z0 g1 v" o# O" n5 f4 `; Z
88、什么是CRC? ^1 f- D# g3 S9 [
~' V6 u/ i/ `" u6 `1 A: g5 s (1)循环冗余校验(CRC)计算单元是根据固定的生成多项式得到任一32位全字的CRC计算结果。7 o5 z6 k. \6 S/ R
) E/ v; n$ Y4 P( u
(2)EN/IEC 60335-1即提供了一种核实闪存存储器完整性的方法。CRC计算单元可以在程序运行时计算出软件的标识,之后与在连接时生成的参考标识比较,然后存放在指定的存储器空间。. \1 J& |* Y% w/ _
5 [' ~6 Q q4 C, b# A89、STM32的CRC的主要特点是?
' V8 Q: g" f+ O7 }
# J3 v6 b6 Y; `) [9 t ( 1) 使用CRC-32(以太网)多项式:0x4C11DB7 (X32+ X26+ X23+ X22+ X16+ X12+ X11+ X10+ X8+ X7+ X4+ X2+ X +1 )% a2 q" Z# b! l3 F* v: I
! V. g, x9 L4 U' \# d
(2) 一个32位数据寄存器用于输入/ 输出
. z9 e: s3 y: y6 \: ^
: s1 H+ u& L/ o (3)CRC计算时间:4个AHB时钟周期(HCLK)$ x* d4 z* v& h8 o3 T# \$ U4 t
" A6 \/ T9 P$ F (3)通用8位寄存器(可用于存放临时数据)
; G* J+ }. o, Y+ v# A' M
% q3 E( k# d @' D) ?% l* p90、CRC一般起什么作用?
7 r2 R/ u" C0 X3 c, d' w }5 J( Z9 k
CRC技术主要应用于核实数据传输或者数据存储的正确性和完整性。比如通讯校验。
% ?! z. L: i- w& [* D/ |2 ]8 B" ~) p
91、STM32的CRC操作主要使用哪些寄存器?
' j4 P' v* }* ]: _- F8 F: j9 t" o; I. e f, t- d6 D
(1)CRC计算单元包括2个数据寄存器和1个控制寄存器。
2 l6 z3 S) K' f6 N
3 |( M2 z5 c, z6 \% J8 z (2)数据寄存器(CRC_DR): 地址偏移:0x00 ,复位值:0xFFFF FFFF) N' I; e5 c! e
* |& C2 g0 h4 l% k0 S (3)独立数据寄存器(CRC_IDR) :地址偏移:0x04 ,复位值:0x0000 0000
, ^0 ]7 n6 K9 c6 D( q6 C2 u! @" q3 X, U3 f5 R, U) r
(4)控制寄存器(CRC_CR):地址偏移:0x08 ,复位值:0x0000 0000
; l- P K( u+ r1 w' P1 N2 i* s( V3 v. h! i& K+ X
92、如何理解CRC_DR寄存器?: g5 q8 h: B& |7 a
7 c( U, k: W9 V0 T& F8 b% X 32位使用,数据寄存器位,写入CRC计算器的新数据时,作为输入寄存器;读取时返回CRC计算的结果。3 Y0 _* W) W' g8 ]8 Z
! O* i; O0 e# s5 L' j) S5 R
92、 如何理解CRC_IDR寄存器?
U2 m3 O2 F8 _, x' w: F- _4 |) @0 l# y3 w' N$ b
(1)通用8位数据寄存器位,可用于临时存放1字节的数据。
% C+ a- o5 D9 o: `/ \. d& F* I
1 R8 _: A4 S& K! a. k (2)此寄存器不参与CRC计算,可以存放任何数据。
* a+ A; i' D4 G9 l! V2 d5 C1 |
; Z$ j9 F+ y5 ] (3)寄存器CRC_CR的RESET位产生的CRC复位对本寄存器没有影响。
. _( o9 _+ t. @5 q; T
, O6 G, a9 x. A1 ?( Z& D! {' y/ N93、如何理解CRC_CR寄存器?
9 w. {! _! g( o) [ h# x
. ]; S `/ i$ @, F (1)位0为RESET位。
2 T+ L: g1 H+ U
! U d; J4 `; n8 v' X (2)复位CRC计算单元,设置数据寄存器为0xFFFF FFFF。
" x4 m3 {; |3 \ \! D, \7 u
/ u5 F, ?! Y5 C) q (3)只能对该位写’1’,它由硬件自动清’0’。
# T Q+ e" j! a" L( B7 B8 l1 i. a1 P
- S" w5 o/ s! W J94、STM32的工作电压VDD是多少?5 F, y# N; Y6 T ^5 O5 E
/ y- \5 n- V$ U( w. f) o0 [
STM32的工作电压(VDD)为2.0~3.6V,通过内置的电压调节器提供所需的1.8V电源(内核供电电压为1.8V)。2 F4 J7 @( t z) ]
# ?' b9 |9 `/ J' y& X% z! R
95、STM32的Vbat引脚的作用?‘
' h- l& \) y# m+ ], R. H; r/ {3 o0 h' ~0 ^8 Q) s
当主电源VDD掉电后,通过VBAT脚为实时时钟(RTC)和备份寄存器提供电源。9 B2 @4 a6 @. K8 U4 a4 X% i
7 _/ l2 t9 ^; o9 }96、如何对stm32的AD转换器供电?
4 |( K5 N7 N& D! N* p
% X: E3 K, l7 f7 C7 L (1)为了提高转换的精确度,ADC使用一个独立的电源供电,过滤和屏蔽来自印刷电路板上的毛刺干扰。
0 K9 w8 I! j. \& f2 {
1 o' |4 S8 }9 Z3 W. E- J# r (2)ADC的电源引脚为VDDA, 独立的电源地VSSA,如果有VREF-引脚(根据封装而定),它必须连接到VSSA
. d0 A4 |& C3 M) D, e; v+ a4 F! ~* t Y' H
(3)100脚和144脚封装:为了确保输入为低压时获得更好精度,用户可以连接一个独立的外部参考电压ADC到VREF+和VREF-脚上。在VREF+的电压范围为2.4V~VDDA。
3 l: y! {; b+ J/ G' d' e% m4 z [' D& ~* S) p& v
(4)64脚或更少封装:没有VREF+和VREF-引脚,他们在芯片内部与ADC的电源(VDDA)和地(VSSA)相联。
% {; {! f, z5 ]+ C$ l( ]/ j5 p5 I
6 o3 F, z0 }# l97、Vbat的供电区域(电池备份区域)包括哪些些?' s* p( A1 p3 y1 g: I1 Y
/ H: f$ ~- x9 M% T5 {VBAT脚为RTC、LSE振荡器和PC13至PC15端口供电,可以保证当主电源被切断时RTC能继续工作。切换到VBAT供电的开关,由复位模块中的掉电复位功能控制。
+ q0 M3 [# W2 J5 o3 T$ l# x6 l
# _, p- R% ~. w; q& \/ b98、描述一下Vbat是怎样工作的?
4 ~$ n! o7 L$ Y) h/ H" I
$ G0 f2 S: g- P& m/ n (1) 在VDD上升阶段(tRSTTEMPO)或者探测到PDR(掉电复位)之后,VBAT和VDD之间的电源开关仍会保持连接在VBAT。9 x8 p4 _6 W/ j
8 O+ ~ M/ Y8 U5 I& |7 P( `
(2)在VDD上升阶段,如果VDD在小于tRSTTEMPO的时间内达到稳定状态(关于tRSTTEMPO数值可参考数据手册中的相关部分),且VDD > VBAT + 0.6V时,电流可能通过VDD和VBAT之间的内部二极管注入到VBAT。
. p/ V N" n4 A9 e+ x$ I4 m3 Q
5 U3 D7 }0 C+ _; a) \- x' ] (3)如果与VBAT连接的电源或者电池不能承受这样的注入电流,强烈建议在外部VBAT和电源之间连接一个低压降二极管。
" i$ b6 R9 h% w( q
7 ~7 H7 V6 {( W (4)如果在应用中没有外部电池,建议VBAT在外部连接到VDD并连接一个100nF的陶瓷滤波电容。! d% x4 m( i# R" q# t
' ~8 |! [; Y, w! G! K0 b! e# z
99、备份区域在Vbat供电时与Vdd供电时有何不同?
\$ Z1 T) ^) b, t/ {+ Z0 t5 P" C: I+ ]
(1)VDD供电时:" y/ z' w2 \' B7 e$ B
: F; ]+ d# w% Q
a、PC14和PC15可以用于GPIO或LSE引脚5 ;. g3 \- X5 s B
, I! G' N7 G# j" O. `* _
b、PC13可以作为通用I/O口、TAMPER引脚、RTC校准时钟、RTC闹钟或秒输出
) U0 \8 o5 ]3 ~: p/ \9 |! @8 I% a" ]) r$ [" H9 k) `
(2)Vbat供电时:
3 Y0 S/ n. M3 r5 i$ ]! g3 K+ s: o; Z' F, _4 u
a、PC14和PC15只能用于LSE引脚;) j' ]6 L) p' }" o6 \3 u, U
% c; z; V+ b$ x# R3 ` e b、PC13可以作为TAMPER引脚、RTC闹钟或秒输出;
& i' w, g2 B% Y6 `& A. o" `+ b9 [/ K \3 I8 _2 U. @. T6 ~3 O
100、备份区域在VDD供电作为GPIO时有何限制?
3 @8 z% |+ `3 b0 f; _4 ^/ F2 b. @' w+ m- u$ j
因为模拟开关只能通过少量的电流(3mA),在输出模式下使用PC13至PC15的I/O口功能是有限制的:速度必须限制在2MHz以下,最大负载为30pF,而且这些I/O口绝对不能当作电流源(如驱动LED)。
' e# K0 B3 b' [6 W/ `+ v9 o% r! Y# r4 w( m, f6 i+ t: n
! O$ W" [' F) _+ }/ I/ W$ r
+ k H% b6 R# r" D2 J: b$ u. [) l0 J, c: M% x& ^ t7 D
% ]: d8 ^% q' q |
|