
一、什么叫最小系统0 T p4 L: j+ f4 n A 3 q: P" }5 T5 w( [2 d 最小系统就像我们人,我们活着每天都要吃饭,喝水。 ( q3 K! _0 e; P$ S4 g+ @ 饭和水就是我们的”燃料”,离开它们我们就挂了。 $ A1 P! R2 u& Z 其实在芯片的世界也一样,单片机想要正常运行,它也需要”燃料”,这些燃料的组成就是最小系统。( [' B- I; J1 F* u y) b 4 G8 w% Q* _8 ]% f 一、“燃料”都由什么组成? + a) E' q$ u6 `% B- P/ f$ N6 t 1.电源 ![]() 拿STM32F103C8T6这个型号来说,总共有5个接电源正极和4个接地引脚,分别给内部不用的模块供电。( s! [6 s, i: x6 w c8 u1 l VDD:就是单片机的供电电压。 VDDA:VDD后面有个A,A=Analog,表示模拟的意思,就是芯片内部模拟器件的工作电压。 ( P+ D, Q" R7 r VSSA:表示模拟器件的公共端地。% @6 u$ M5 {6 m: e% ]$ s& A& P 2 _2 A1 u. g V/ P! i9 F VBAT:给后备区域供电,维持RTC/BKP寄存器这些数据掉电保存,一般是接纽扣电池,如果不需要可以直接接电源。 ![]() , M. W, H1 ~- l$ d& P2 u 根据数据手册的说明,这几个引脚的供电电压最大不能超过3.6V。 + ?) E1 \9 |" }9 X' ` 说到数据手册,作为一个英语渣,这里多说一句,不要怕全是英文,不用全看懂,抓关键的地方看,其实来来去去就那几个英文。8 Q0 v% g# W! ]' K) \ 2.复位电路0 R# Q& n! s6 K1 ^1 m & _& S: k1 z- ^. Z ![]() 复位电路的作用就是,板子上电的瞬间给单片机复位引脚(NRST)一个短暂的低电平,让单片机程序复位,把除了备份区域寄存器以外所有寄存器状态恢复原始状态。 ; J3 E2 A: y' b1 _3 O' o/ M" T3 { 简单来说就是让程序重头开始跑。 9 ^$ M0 o# ~! }0 [; m$ K2 X( e 复位电路的原理是利用RC电路的充放电原理,在上电瞬间为NRST引脚产生一个短暂的低电平。 刚上电的时候电流会通过R19和C20到地,为C20充电,此时NRST的引脚为低电平。 O- z1 J5 T+ u/ m, I# B) Q 当C20充满电以后,C20就处于”断路”的状态,此时NRST由低变高电平。+ I' x) m* \ a" B4 r: H 3.系统时钟 ; O I0 q4 L Y& X! Y2 r+ k ![]() ' h. ~5 v* j# j0 R, K3 n7 I9 {' \ ![]() 系统时钟一般是加外部晶振电路,相当于给单片机一个心跳。$ v% Q2 _/ b7 ^* ]1 }, a$ V . n; G& [1 S% G4 O5 s; \, T. V 就跟人的心跳一样,没心跳肯定就GG了。# G8 F! y x. b) c+ [' U- M) ? ' i" Q b3 d/ q8 q7 E 同样,单片机没心跳也跑不起程序。 & Q% E+ R% h K k1 l 这个心跳也是一个时机基准,为单片机系统时钟、定时器之类的提供时间的基准。 我们最终计算定时器的时间,都跟这个晶振息息相关。 _) x- ? s& U6 e4 b/ @1 t% h% W4 J 2 ?1 G: N) M# b! g" R( ]& X 4.烧录口 ![]() 5 ?7 b; ]3 z; e- S1 _ 烧录口的作用就是给单片机烧录程序,注入灵魂。) U! N7 c( w* p' g0 Q3 N- Q STM32的烧录方式有几种,实际产品开发一般用SWD接口烧录,占用尺寸空间少,一般只需要5根线,也有些用4根线的,就是vdd不接,不接vdd烧录要单独给板子供电。: U* P. I7 {& D1 p/ h 5.Boot0和Boot1# V9 @; P7 `* H5 D- d E: }5 A* v0 {& @* P3 k Boot0和Boot1是用来选择STM32单片机的启动方式的。 ' a0 r0 v! `: r( }$ a$ c ![]() % d4 |" N+ V6 C, Z 如果上图你看不懂什么意思,不要慌,正常的。 简单来说,大家要想正常跑程序就要把Boot0和Boot1都接到地,就是正常工作模式。 - c' |5 c! x2 K 如果我们要使用串口烧录,也就是ISP,就需要把BOOT0接到电源,BOOT1接到地,烧录完以后再全部接到地,相对麻烦很多。) b% J3 X2 n$ ]- G, x; B 9 F- e6 y% I) v$ ], N C5 r# I 这也就是为什么我只用SWD烧录的原因,直接全部接地就行了。1 H$ C- z4 n* x3 y% ] . B, j* V: i4 R0 u* R 电路图中Boot0和Boot1加一个10K电阻,然后接到地 ![]() 通过上面这些电路的组合,单片机就能正常跑程序了。 ———————————————— 版权声明:岁月哥9 d- I% Y/ e; N & X0 C/ O! k: a7 N |