一、STM32 系统硬件组成
STM32 系统由电源、复位、时钟、调试 / 接口和启动这几部分组成。
(一)电源
3.3V 电源接入,电容起到滤波作用。
(二)复位电路

当 RESET 引脚被拉低产生外部复位时,会产生复位脉冲使系统复位,有上电复位、手动复位和程序自动复位三种方式。
上电复位:上电瞬间,电容充电,RESET 出现短暂低电平,持续时间由电阻和电容共同决定,计算公式为 t = 1.1RC,例如 1.1 * 10K * 0.1uF = 1.1ms。
手动复位:按键按下时,RESET 与地导通,产生低电平实现复位。

(三)时钟
晶振为系统提供基本的时钟信号,电容保证晶振输出的震荡频率更加稳定。
(四)BOOT 启动电路
STM32 芯片的 BOOT0 和 BOOT1 引脚,可通过跳线帽设置电平控制芯片的启动方式,支持从内部 FLASH 启动、系统存储器启动以及内部 SRAM 启动。一般使用 JTAG 或者 SWD 调试程序到闪存时,可将 BOOT0 引脚和 BOOT1 引脚置为低电平。其三种启动模式对应的存储介质均为芯片内置,分别是用户闪存(芯片内置的 Flash)、SRAM(芯片内置的 RAM 区,即内存)、系统存储器(芯片内部特定区域,预置了 Bootloader,即 ISP 程序,使用 USART1 作为通信口)。
(五)调试接口
STM32 有 JTAG(5 针)和 SWD(2 线串行,共四线)两种调试接口。此外,还可采用 USB 进行程序烧写和数据输出,与电脑 USB 口连接还能进行小负载驱动供电,通常采用 CH340G 芯片实现 USB 转串口,但需在电脑上安装串口驱动程序才能正常识别。