笔记1:STM32入门了解知识

芯片正方向识别:有点的芯片,小点对应的是第一个脚,然后逆时针旋转到144脚;如果没有点,则正对丝印(上面的AT,ARM标识),左下脚是第一脚。
在这里插入图片描述
STM32芯片构成:
在这里插入图片描述
四条总线:
在这里插入图片描述
每个总线下有哪些外设:参考官方中文参考手册–>2.2:存储器组织结构
在这里插入图片描述
寄存器是什么:每一个寄存器就代表一个内存单元
一. 寄存器映射
在这里插入图片描述
就拿外设GPIOF来说,其基地址是:0x4002 1400,偏移地址:0x14,因此GPIOF地址为:0x4002 1414,若是向这个地址写入一数据,按原始C语言应该为:
在这里插入图片描述
寄存器映射操作为:
在这里插入图片描述
因此寄存器映射定义:将芯片内部具有某个特殊功能的内存单元取一个别名的过程
二.存储器映射
定义:给存储器分配地址的过程叫存储器映射,给这个地址再分配一个地址叫重映射
三.C语言对寄存器的封装

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
.
.
.
GPIOF基地址为 0x40021400
定义为:#define GPIOF_BASE (0x40021400)
各个寄存器定义如下:
在这里插入图片描述
typedef struct
{
u32 MODE;
u32 OTYPER;
u32 OSPEEDR;
u32 PUPDR ;
u32 IDR;
u32 ODR;
u32 BSRR;
u32 LCKR;
u16 AFRL;
u16 AFRH;
}GPIO _TypeDef

#define GPIOF (GPIO _TypeDef *)GPIOF_BASE;
这样处理之后,GPIOF就可以指向GPIOF所有寄存器指针,直接往里面输入数据,如:GPIOF->ODR=0xFFFF;

本文为参考野火视频学习总结

猜你喜欢

转载自blog.csdn.net/weixin_46468790/article/details/107185483