第一章-初识STM32

一、芯片里面有什么

1.片上外设

内核之外的部件叫核外外设或片上外设。GPIO,USART、I2C、SPI 都叫做片上外设

1692286715541

芯片内核和外设之间,有总线连接,主控总线有 8 条,被控总线有 7 条。

2、寄存器映射

给存储器分配地址的过程称为存储器映射。如果是给吹气球再分配一个地址叫存储器重映射

3、存储器区域功能划分

1692287169333

(1)BLock0 功能划分

1692287359301

(2)Block1 功能划分

1692287500692

(3)Block2 功能划分

1692287707507

二、寄存器

功能为名给这个内存单位取一个别名,这个别名就是我们经常说的寄存器分配好地址的特定功能的内存单元取别名的过程叫做寄存器映射

如何理解寄存器

1692288238634

1、名称 (GPIOx_BSRR)(x=A…I)

该寄存器名为(GPIOx_BSRR)(x=A…I),其中 x 可以为 A-I,适用于 GPIOA、GPIOB 到 GPIOU

2、偏移地址,寄存器相对这个外设的基地址的编译

寄存器的编译地址是 0x18,可以查到 GPIOA 外设的基地址是 0x4002 0000,GPIOx_BSRR 寄存器地址为,0x4002 0000+0x18

3、寄存器位表

0-31 的名称以及权限。最上方是位编号,中间位名称,最下方是读写权限,w 只写,r 只读,rw 可读写

4、位功能说明

BRy 及 BSy,其中的 y 数值可以是 0-15,这里的 0-15 表示端口的引脚号, 如 BR0、BS0 用于控制 GPIOx 的第 0 个引脚,若 x 表示 GPIOA,那就是控制 GPIOA 的第 0 引脚, 而 BR1、BS1 就是控制 GPIOA 第 1 个引脚。

其中,“复位”是将该位设置为 0 的意思,而“置位”表示将该位设置为 1;如果对 BR0 写入“

1”的话,那么 GPIOx 的第 0 个引脚就会输出“低电平”,但是对

BR0 写入“0”的话,却不会影响 ODR0 位,所以引脚电平不会改变。要想该引脚输出“高电平”, 就需要对“BS0”位写入“1”,寄存器位 BSy 与 BRy 是相反的操作

三、C 语言对寄存器的封装

总线基地址和外设基地址都以相应的宏定义起来,总线或者外设都以他们的名字作为宏名

四、STM32 分类

1692284102687

五、STM32 命名方法

以 STM32F407ZGT6 来讲解

家族:32bit 的 MCU

产品类型:F 表示基础型

引脚数:Z 表示 144pin,C 为 48,R 为 64,V 为 100,Z 为 144,B 为 208,N216

FLASH:G 表示 1024KB,C 表示 256,E 表示 512,I 表示 2048

封装:T 表示 QFP 封装最常用的封装

温度:6 表示等级为 A:-40~85°

1692284365745