STM32单片机入门教程:全面解读STM32简介
文章目录
一.简介

本次教程使用的是STM32F1系列(主流系列)
ARM指ARM公司,也指ARM处理器内核

ARM公司设计ARM内核,半导体厂商设计外围电路并生产芯片(存储器和外设)

ARM内核有三种子型号:A系列(适用于高端应用领域)
R系列(面向实时性很高的场景)
M系列(单片机领域)
系列:主流系列STM32F1
内核:ARM Cortex-M3
主频:72MHz
RAM:20k(SRAM)
ROM:64k(Flash)
供电:2.0~3.6V(标准3.3V) 【不同于之前学习的51单片机(5V)】
二.片上资源(外设)
NVLC和SysTick都是指内核里面的外设,其他的代表内核外的外设
【我们这款C8T6的芯片没有后面四个外设】
芯片所有的外设可以在数据手册中的“器件一览”中查找
三.命名规则
四.系统结构
左上角为内核,ICode和DCode主要连接Flash闪存;
Flash存储我们编写的程序;
ICode指令总线用来加载程序指令;
Dcode数据总线用来加载数据,如常量和调试数据;
SRAM存储程序运行时的数据;
AHB系统总线用于挂载主要外设(先进高性能总线)
APB系统总线用于挂载一般外设(先进外设总线)
【注:AHB>APB2>APB1,且APB2一般和AHB同频率为72MHz,APB1一般为36MHz】
DMA的作用是做比如数据搬运这种简单且重复的事情,通过DMA总线访问外设,替代CPU工作
五.引脚定义
红色的是电源相关引脚,蓝色的是最小系统相关引脚,绿色的是IO口、功能口这些引脚;
S代表电源,I代表输入,O代表输出,IO代表输入输出;
IO口电平代表IO口所能容忍电压,FT表示能容忍5V电压,无FT的表示能容忍3.3V电压;
默认复用功能是IO口上同时连接的外设功能引脚;
重定义功能表示如果有两个功能同时复用在一个IO口上,可以把其中一个复用功能重映射到其他端口上【前提是重定义表里有对应端口】
1号引脚VBAT表示备用电池供电引脚,系统电源断电时给内部的RTC时钟和备份寄存器供电;
2号引脚是IO口或侵入检测或RTC,侵入检测用于安全保障功能;
3、4号引脚是IO口或接32.768KHz的RTC晶振;
5、6号引脚接系统主晶振,一般为8MHz;
7号引脚NRST是系统复位引脚,N代表低电平复位;
8、9号引脚是内部模拟部分电源,如ADC/RC振荡器,VSS是负极,接GND,VDD是正级,接3.3V;【同47、48】
10~19号引脚都是IO口;【优先使用】
20号引脚是IO口或BOOT1引脚,BOOT引脚是用来配置启动模式;
21~22引脚也是IO口;
23、24引脚是系统的主电源口;【同47、48号引脚】
34、37~40引脚是调试端口,用来调试程序和下载程序,我们使用STLNK下载调试程序,用的是SWD方式,只占用PA13、PA14两个IO口,剩下的PA15、PB3、PB4可以切换普通IO口使用,需要在程序中进行配置;
六.启动配置
作用是指定程序开始的位置,一般都是在Flash程序存储器中开始执行;
第一个模式最常用,第二个模式一般用来做串口下载,第三个模式用的比较少;
【BOOT引脚的值只在上电一瞬间有用】
七.最小系统电路
STM32的主晶振一般都是8MHz,经过内部锁相环倍频,得到72MHz的主频;
启动配置在实物上体现的是用跳线帽,当跳线帽接在左边两个引脚时,配置的时GND,在右边两个引脚时,配置的是3.3V,这样来配置BOOT的高低电平;
作者:石原里美老公