以STM32F103ZET6为例子,分析我们的单片机

发布于:2025-03-21 ⋅ 阅读:(18) ⋅ 点赞:(0)

目录

第一件事情:为什么叫STM32F103ZET6

分析我们的资源手册

第二件事情,关心我们的GPIO引脚输出

第三件事情:去找对应外设的说明部分


第一件事情:为什么叫STM32F103ZET6

部分 说明
1. 产品系列 固定为“STM32”,表示基于ARM Cortex-M内核的32位微控制器。
2. 产品类型 用一个字母表示产品类型: F:通用型 L:低功耗型 W:无线型
3. 产品子系列 用三位数字表示产品子系列,指示特定的功能和性能: 101:基本型 102:USB基本型(USB 2.0全速设备) 103:增强型 105/107:互联型
4. 引脚数 用一个字母表示封装的引脚数量: T:36引脚 C:48引脚 R:64引脚 V:100引脚 Z:144引脚 I:176引脚
5. 闪存容量 用一个字母或数字表示内置的Flash容量: 6:32KB 8:64KB B:128KB C:256KB D:384KB E:512KB G:1MB
6. 封装类型 用一个字母表示封装类型: H:BGA封装 T:LQFP封装 U:VFQFPN封装
7. 温度范围 用一个数字表示工作温度范围: 6:-40°C 至 85°C 7:-40°C 至 105°C

这样看,我们的STM32F103ZET6的名称来源就很简单了:

首先显然,这是一款通用型的STM32单片机,此外,还是增强型的单片机。拥有144个引脚,其闪存大小是512KB。还是很能装的。封装类型是LQFP,其工作温度为经典的-40°C 至 85°C。

分析我们的资源手册

笔者在之前的博客中说到了我们的手册可以从哪里来,所以这里我们就不去再重复说下面的资源是从哪里考证的——就是从资源手册的第一页中摘取的。

分类 项目 详细说明
内核 CPU ARM 32位 Cortex™-M3
主频 最高72MHz
性能 1.25DMips/MHz(Dhrystone 2.1)
运算 单周期乘法和硬件除法
存储器 闪存 256KB 至 512KB
SRAM 高达 64KB
外部存储支持 静态存储器控制器(4个片选),支持 CF卡、SRAM、PSRAM、NOR、NAND
LCD 接口 并行接口,兼容 8080 / 6800 模式
时钟、复位、电源管理 电压 工作电压 2.0 ~ 3.6V(I/O引脚同)
复位 上电/断电复位(POR/PDR)、可编程电压监测器(PVD)
振荡器 4~16MHz 晶体、内嵌 8MHz 校准 RC 振荡器、40kHz 校准 RC 振荡器、32kHz RTC 校准振荡器
低功耗模式 模式 睡眠、停机、待机
备用电源 VBAT 为 RTC 和后备寄存器供电
模数转换器 (ADC) 数量 3 个 12 位 ADC
转换时间 1μs
输入通道 多达 21 个
电压范围 0 ~ 3.6V
功能 三倍采样保持、温度传感器
数模转换器 (DAC) 数量 2 通道 12 位
DMA 通道数 12 通道
支持外设 定时器、ADC、DAC、SDIO、I2S、SPI、I2C、USART
调试接口 接口 串行单线调试(SWD)、JTAG
追踪模块 Cortex-M3 内嵌 ETM(嵌入式跟踪模块)
I/O端口 数量 多达112个快速I/O口
特性 51/80/112个多功能双向I/O,可映射至16个外部中断,几乎全部5V容忍
定时器 总数 多达11个
普通定时器 多达4个16位定时器(最多4个通道,支持输入捕获/输出比较/PWM/编码器输入)
高级定时器 2个16位(支持死区控制和刹车,用于电机控制)
看门狗 独立式 + 窗口型
系统定时器 24位 自减型计数器
基本定时器 2个16位,用于驱动 DAC
通信接口 I2C 多达 2 个(支持 SMBus / PMBus)
USART 多达 5 个(支持 ISO7816、LIN、IrDA、调制解调控制)
SPI / I2S 3个 SPI(18Mbps),其中2个可复用为 I2S
CAN 1个 CAN 2.0B 主动接口
USB USB 2.0 全速
SDIO 支持
其他 CRC CRC 计算单元
唯一标识 96位芯片唯一识别码

第二件事情,关心我们的GPIO引脚输出

我们的单片机最后是依靠GPIO引脚跟外界进行沟通,我们查询了上面的资源之,确定了这个板子是我们的一个可以选择的方案后,下一步,就是看看结合我们的需求,简单的调研一下我们的GPIO引脚的复用情况。

关于GPIO是什么,这个不是我们这篇博客的重点,笔者记得我前前后后说过两次。所以可以翻翻笔者之前的博客,看我的碎碎念。

简单的说,就是我们的GPIO引脚不可能单独的表达含义,我们可以采取复用策略(也就是说把XXXGPIO现在作为一个)

关于GPIO的复用,我们还是要去看资源手册。这一部分的内容一般是Pinouts and pin description那一部分的内容,注意,我们在学习其他的单片机的时候,可能板块不会叫这个名字。

笔者截取了一下我手头的手册的一个截图:

我们一般关心的是Pin name和右侧的一些说明。第一件事情是看我们需要的功能所在的引脚在哪里。比如说。我们的PE9,既可以是操作FSMC的引脚,又可以是TIM1定时器的第一个通道。

第三件事情:去找对应外设的说明部分

这个事情在我们的编程手册中才会涉及到,比如说,我们想要驱动IIC。

就要准备去对应的手册上慢慢翻。ST官方的手册比较全面,会仔细的介绍细节。这里给出的是英文手册的截图。

笔者接触到的流程大致就是如此。