
前言 为什么使用STM32而不是8051? 是因为51的频率太低,无法满足计算需求?是51的管脚太少,无法满足众多外设的IO? 是51的功耗太大,电池挺不住?是51的功能太弱,而你要使用SPI、I2C、ADC、DMA? 是51的内存太小而你要存储的东西太多?& o. `* i4 a: O9 Z) o, x9 f / }2 \0 R: \, v6 ]$ L& U 当你需要使用STM32某些功能,而51实现不了的时候, 那STM32自然不需要学习,你会直接去寻找STM32某方面的使用方法。比如要用spi协议的网卡、要使用串口通信、要使用rtos等等… ) X- W* t9 Q+ y 什么是STM32? STM32单片机是ST(意法半导体)公司使用arm公司的cortex-M3为核心生产的32bit系列的单片机 8 u/ r3 h2 |4 g! K 一、STM32基本系统 1.STM32基本(最小)系统板4 H" J8 w6 c% I, h' Y1 W/ c STM32基本(最小)系统是指仅包含必需的元器件,仅可运行最基本软件的简化系统,也就是用最少的元件组成,但可以工作的系统。 1 V, }% ^1 ~8 }" y 无论多么复杂的嵌入式系统,都可以认为是由基本(最小)系统和扩展功能组成。基本(最小)系统是嵌入式系统硬件设计中复用率最高,也是最基本的功能单元。 2.使用STM32为核心器件的基本(最小)系统构成单元 ![]() 二、主控制器(CPU)& n6 K1 Y8 }# u8 H 1.STM32F103RCT6微控制器参数 ! p; G. M9 n$ o2 a ![]() 2.STM32F103RCT6微控制器引脚分布, G) T3 O& J5 R- ]$ G8 R ' o. c9 b. y5 ?& B @ P8 Y ![]() ![]() 三、启动电路设计 启动模式设置 在设计时,必须确定启动时使用的芯片引脚。改变启动方式会使STM32存储空间的起始地址对齐到不同的内存空间上,从而选择在闪存、内部SRAM或系统存储区上运行代码。: K* d0 S5 e7 a: V& e _9 \ 例如如果选择从用户闪存启动,即BOOT0设置为0,可以通过连接限流电阻实现。3 L& S' E/ |& M# ^+ k* V ![]() $ h0 t8 x) T6 i2 W 四、电源电路设计8 W: Z2 ~% R2 G) I" q* R 1. 电源( j9 L- U7 m! q 1.STM32F103系列微控制器使用单电源供电,其电压范围必须为2.0-3.6V,同时通过内部的一个电压调整器,可以给Cortex-M3核心提供1.8V的工作电压。8 m. V5 g' y1 V1 n9 r l 2.通常正常电源为5V,可以采用转换电路。电路设计可采用5V电源插头将220V降压到5V,再采用LMS1117-3.3V稳压芯片将5V电压降压输出3.3V电压。 3.STM32F103芯片的电源引脚连接电容以增强稳定性。8 w# c. p( b3 o9 F F% U$ s 2. 末级电源电路:使用LM1117-3.3 LM1117一共有4种封装可以选择,如图 所示。为了减小PCB面积,我们选择SOT-223(M3)封装。 Z# G0 I/ ^* B- ]2 I 0 ? S5 J2 e! m6 x4 D ![]() 4 y4 J: h$ V" a* A; H0 V2 f 五、调试电路设计 调试接口$ \+ A/ x8 S" R STM32的调试系统支持JTAG 和SWD两种接口标准,这两种接口都要使用GPIO(普通I/O口)来供给调试仿真器使用。选用其中一个接口即可将在PC宿主机上编译好的程序下载到单片机中进行运行调试。 % M6 F2 t. \6 V; J 我选用SWD模式。 六、复位电路设计 1.复位电路 复位电路的主要作用是把特殊功能寄存器的数据刷新为默认数据,单片机在运算过程中由于干扰等外界原因造成寄存器中数据混乱不能使其正常继续执行程序(称死机)或产生的结果不正确时均需要复位,以使程序重新开始运行。单片机在刚上电时也需要复位电路,系统上电时复位电路提供复位信号,直至电源稳定后,撤销复位信号,以使单片机能够正常稳定的工作。 . B! z" r0 \5 E6 G ![]() : D4 `4 z$ o: e 2.阻容复位电路( T: t4 v+ ?! g 5 Z& n" M" w( M o6 }6 s ![]() " V$ A! Q1 W, S6 m+ B- u# g" p 3.复位电路设计注意事项 复位电路非常重要,如果没有特别的要求,可以采用阻容复位电路。如果要求比较严格的应用场合,一定要使用复位芯片来设计复位电路。 如果不需要看门狗,可以不用SP706S的WDI脚,并且不焊接R2电阻。当然也可以换成没有看门狗的复位芯片,如SP708S等。 如果用看门狗,在调试时一定要关闭看门狗,在完成调试后才打开看门狗,否则将不能调试。+ N4 r9 v1 H+ h4 u( q4 ` 七、时钟电路设计5 t8 D1 u5 c" q 时钟电路是单片机的心脏,它控制着单片机的工作节奏。单片机就是通过复杂的时序电路来完成不同的指令功能的。实际选用8M时钟。 9 C% E( K- a3 n7 \ ![]() 总结! ?; x0 z* [2 ]+ L0 r3 g 反正我是马上要实习了,就想重新回顾一遍32,错的地方见谅见谅 加一个STM32F103RCT6各字段的含义! _+ o+ ~3 |- x0 V8 ` STM32(芯片系列):STM32代表ARM Cortex-M 内核的32位微控制器) i7 }2 X2 E' e2 @ 103(芯片子系列):101基本型,102USB基本型(USB2.0),103代表增强型系列,105或107互联型 F(产品类型):F代表通用系列' |7 n) b* J: }: F9 r6 H R(引脚数量):T=36, C=48, R=64, V=100 ,Z =144 C(闪存容量):4=16K,6=32K,8=64K,B=128K,C=256K,D=384K,E=512K T(表封装): H代表BGA封装/ I; g: m% L1 b4 P' J4 e; W5 c T代表LQFP封装 U代表VFQFPN封装. t1 ]) k R: c7 i! e7 P' I% } Y代表WLCSP642 I7 P1 k3 N" Z2 l2 F7 W9 C% X+ a 6 P" y6 T0 _, P& ~ 6(工作温度范围):6代表-40 — 85℃,7代表-40 —105℃ ————————————————1 ?! R; ]" z2 D) Y& |7 M, Z# g: @ 版权声明:m0_48471526 9 p" k$ E% O4 V x+ ` ; Q& y2 b0 n; Y3 C9 c& U+ X$ W |
小马哥STM32F103开源小四轴RoboFly全部资料大放送
STM32固件库分享,超全系列整理
STM32F10xxx 正交编码器接口应用笔记 及源代码
分享一个STM32F103的硬件IIC代码库,完美解决IIC问题!
OpenBLT移植到STM32F103战舰开发板上适用于所有STM32F103系列的Bootloader
MultiButton移植到STM32F103战舰开发板
UDS诊断服务
使用Nano板验证驱动SPI串口屏的颜色显示
使用STM32F103制作的无线下载器
STM32F103移植LittlevGUI代码