目录
1、STM32简介
2、ARM
3、STM32F103C8T6
4、片上资源/外设(peripheral)
5、命名规则
6、系统结构
7、引脚定义
8、启动配置
9、最小系统电路
1、STM32简介
STM32是ST公司基于ARM Cortex-M内核开发的32位微控制器
ST-ST意法半导体公司,M-微控制器,32-32位单片机,ARM Cortex-M内核-ARM公司设计的内核,ST公司进行外围电路设计及封装
STM32常应用在嵌入式领域,如智能车、无人机、机器人、无线通信、物联网、工业控制、娱乐电子产品等
STM32功能强大、性能优异、片上资源丰富、功耗低,是一款经典的嵌入式微控制器
下图是STM32家族系列图
包括高性能系列、主流系列、超低功耗系列、无线系列

2、ARM
ARM既指ARM公司,也指ARM处理器内核
ARM公司是全球领先的半导体知识产权(IP)提供商,全世界超过95%的智能手机和平板电脑都采用ARM架构
ARM公司设计ARM内核,半导体厂商完善内核周边电路并生产芯片
3、STM32F103C8T6
系列:主流系列STM32F1
内核:ARM Cortex-M3
主频:72MHz
RAM:20K(SRAM) —— RAM就是运行内存,实际存储介质SRAM
ROM:64K(Flash)—— ROM就是程序存储器,实际存储介质是Flash闪存
供电:2.0~3.6V(标准3.3V)
封装:LQFP48
4、片上资源/外设(peripheral)
NVIC和SysTick为Cortex-M3内核内的外设,其他属于内核外的外设
STM32F103C8T6不包含DAC、SDIO、FSMC、USB OTG这四个外设
NVIC:这个是内核里面用于管理中断的设备,比如配置中断优先级等
SysTick:内核里面的一个定时器,主要用来给操作系统提供定时服务,也可以实现delay函数
RCC:对系统的时钟进行配置,使能各模块的时钟
GPIO:通用IO口,可以进行点灯读取按键等
AFIO:复用IO口,完成复用端口的重定义和中断端口配置
EXTI:外部中断,配置好外部中断后,当引脚有电平变化时就可以触发中断让cpu来处理任务
TIM:定时器,分为高级定时器、通用定时器、基本定时器三种类型,常用的是通用定时器
这个定时器不仅可以完成定时中断的任务,还可以完成测频率,生成pwm波形,配置成专用的编码器接口等功能
ADC:这个STM32内置了12位的ad转换器可以直接读取io口的模拟电压值
DMA:帮助cpu完成搬运大量数据这样的繁杂任务
USART:UART是异步串口的意思,这里的USART是既支持异步串口也支持同步串口
I2C/SPI:常见通信协议
RTC:完成年月日时分秒的计时功能,还可以接外部备用电池,即使掉电也能正常运行
CRC:一种数据的校验方式,用于判断数据的正确性
PWR:电源控制,可以让芯片进入睡眠模式等状态来达到省电的目的
BKP:这是一段存储器,当系统掉电时仍可有备用电池保持数据
IWDG/WWDG:当单片机因为电磁干扰死机或者程序设计不合理出现死循环时看门狗可以及时复位芯片,保证系统的稳定
DAC:它可以在IO口直接输出模拟电压,是ADC模数转换的逆过程
SDIO:SD卡接口,可以用来读取SD卡
FSMC:可以用于扩展内存。或者配置成其他总线协议
USB OTG:可以让STM32作为usb主机,去读取其他USB设备
具体外设情况见数据手册

没有基本定时器
5、命名规则

6、系统结构
系统总线就连接到SRAM等(用于存储程序运行时的量数据)
AHB系统总线:用于挂载主要的外设,AHB指先进高性能总线,挂载最基本的或者性能比较高的外设
APB先进外设总线:用于连接一般的外设
DMA:大量的数据搬运,不需要CPU参与
AHB性能高于APB,APB2的性能高于APB1
APB2一般是和AHB同频率的,都是72MHz,APB1一般是36MHz
7、引脚定义
红色是电源相关的引脚,蓝色是最小系统相关的引脚,绿色是IO口/功能口

类型:S代表电源,I代表输入,O代表输出,IO代表输入输出
I/O口电平:I/O口所能容忍电压,FT代表能容忍5V电压,没有FT的就只能容忍3.3V的电压
主功能:上电后默认的功能,一般和引脚名称相同
默认复用功能:I/O口上同时连接的外设功能引脚,配置时候可以选择通用IO还是复用功能
重定义功能:如果有两个功能同时复用在了一个I/O上,而确实需要用到这两个功能,那可以把其中一个复用功能重映射的其他端口上
8、启动配置

启动配置的作用就是指定程序开始运行的位置,一般情况下程序都是在flash程序存储器开始执行
1指接到3.3V电源正的意思
系统存储器:串口下载
内置SRAM:用来调试
BOOT上电瞬间有效
9、最小系统电路

作者:嵌入式快递哥