1)实验平台:正点原子stm32mini 开发板
2)摘自《正点原子STM32 不完全手册(HAL 库版)》关注官方微信号公众号,获取更多资料:正点原子
![7b7a9b1d1fa5606b8af623f9cbc86019.png](https://i-blog.csdnimg.cn/blog_migrate/672bb95a8a186b32f793137d6c4abef0.jpeg)
第二章 实验平台硬件资源详解
本章,我们将节将向大家详细介绍 ALIENTEK MiniSTM32 开发板各部分的硬件原理图,
让大家对该开发板的各部分硬件原理有个深入理解,并向大家介绍开发板的使用注意事项,为
后面的学习做好准备。
本章将分为如下两节:
2.1,开发板原理图详解;
2.2,开发板使用注意事项;
2.3,STM32 学习方法;
2.1 开发板原理图详解
2.1.1 MCU
ALIENTEK MiniSTM32 V3.0 版开发板选择的是 STM32F103RCT6 作为 MCU,它拥有的资
源包括:48KB SRAM、256KB FLASH、2 个基本定时器、4 个通用定时器、2 个高级定时器、
2 个 DMA 控制器(共 12 个通道)、3 个 SPI、2 个 IIC、5 个串口、1 个 USB、1 个 CAN、3 个
12 位 ADC、1 个 12 位 DAC、1 个 SDIO 接口及 51 个通用 IO 口。该芯片性价比极高,MCU 部
分的原理图如图 2.1.1.1(因为原理图比较大,缩小下来可能有点看不清,请大家打开开发板光
盘的原理图进行查看)所示:
![b7e882a4c44779b78ba19b93b0a0212e.png](https://i-blog.csdnimg.cn/blog_migrate/01602541a0d2cfe65d71e0a35378106b.jpeg)
图 2.1.1.1 MCU 部分原理图
上图中中上部的 BOOT1 用于设置 STM32 的启动方式,其对应启动模式如下表所示:
![f302165b86274868f9e61b40b49386a7.png](https://i-blog.csdnimg.cn/blog_migrate/5583343c5434c6d8e12e83ff3029ce81.jpeg)
表 2.1.1.1 BOOT0、BOOT1 启动模式表
按照表 2.1.1.1,一般情况下(即标准的 ISP 下载步骤)如果我们想用用串口下载代码,则必须先配置 BOOT0 为 1,BOOT1 为 0,然后按复位键,最后再通过程序下载代码,下载完以
后又需要将 BOOT0 设置为 GND,以便每次复位后都可以运行用户代码。可以看到,这个标准
的 ISP 步骤还是很繁琐的,跳线帽跳来跳去,还要手动复位,所以 ALIENTEK 为 STM32 的串
口下载专门设计了一键下载电路,通过串口的 DTR 和 RTS 信号,来自动控制 RST(复位)和
BOOT0,因此不需要用户来手动切换状态,直接串口下载软件自动控制,可以非常方便的下载
代码,这是其他开发板所不具备的。
P3 和 P1 分别用于 PORTA 和 PORTB 的 IO 口引出,其中 P1 有部分用于 PORTC 口的引出。
PORTA 和 PORTB 都是按顺序排列的,这样设计的目的是为了让大家更方便地与外部设备连接。
P2 连接了 DS18B20 的数据口以及红外传感器的数据线,它们分别对应着 PA0 和 PA1,只
需要通过跳线帽将 P2 和 P3 连接起来就可以使用了。这里不直接连在一起的原因有二:1,防
止红外传感器和 DS18B20 对这两个 IO 口作为其他功能使用的时候的影响;2,DS18B20 和红
外传感器还可以用来给其他板子提供输入,等于我们的板子为别的板子提供了红外接口和温度
传感器,在调试的时候,还是蛮有用的。
P4 口连接了 CH340G 的串口输出,对应着 STM32 的串口 1(PA9/PA10),在使用的时候,
也是通过跳线帽将这两处连接起来。这样设计有两个好处:1,使得 PA9 和 PA10 用作其他用途
使用的时候(比如串口 1 连接其他串口设备),不受到 CH340G 的影响。2,USB 转串口可以用
作他用,并不仅限这个板上的 STM32 使用,也可以连接到其他板子上,这样 ALIENEK
MiniSTM32 开发板就相当于一个 USB 转 TTL 串口。
P5 口是另外一组 IO 引出排针,将 PORTC 和 PORTD 等的剩余 IO 口从这里引出。在此部
分原理图中,我们还可以看到 STM32F103RCT6 的各个 IO 口与外设的连接关系,这些将在后
面给大家介绍。
这里 STM32 的 VBAT 采用 CR1220 纽扣电池和 VCC3.3 混合供电的方式,在有外部电源
(VCC3.3)的时候,CR1220 不给 VBAT 供电,而在外部电源断开的时候,则由 CR1220 给 VBAT
供电。这样,VBAT 总是有电的,以保证 RTC 的走时以及后备寄存器的内容不丢失。
该部分还有 JTAG,JTAG 部分电路如下图: