STM32——寄存器映射

总 :STM32------HAL库总结-CSDN博客

芯片资料:

STM32F1系列参考手册-V10(中)

STM32F103ZET6(English)

一、寄存器基础

1.1 简介

单片机内部的控制机构。

像空气开关控制电路一样的原理,打开关闭某个开关,来控制某个电路,实现什么功能。

2.2 寄存器类型

二、寄存器映射

2.1 简介

例如:

其实就是C语言的(unsigned int)转指针。

2.2 存储器映像

STM32F1系列参考手册-V10(中)

STM32 一组IO 16个【PA0~PA15】,51单片机一组IO 8个。

2.3 寄存器解读

地址偏移是针对外设来说的。也就是说偏移量 0x0C是针对此物理地址的偏移值。

位功能在手册中会有具体描述。

2.4 寄存器赋值

2.4.1 直接赋值

2.4.2 宏名定义

2.5 寄存器地址计算

2.5.1 总线基地址

总线基地址就是存储器映像实际地址。

存储器映像中 APB1基地址:

STM32F1系列参考手册-V10(中)

APB1基地址,也叫外设基地址,此可由memory map查看:

STM32F103ZET6(English)

2.5.2 GPIO外设基地址

2.5.2.1 GPIOA 寄存器地址

2.5.3 寄存器地址确认

2.6 *结构体映射寄存器*

结构体成员是连续分配内存的。 使用相同类型的成员大小是相同的,不会被字节对齐有空位。那么也就是说,(unsigned int)强转的结构体指针可指向4byte大小的成员,也就是**连续的寄存器(4byte)**地址内容。

映射的核心理念还是 指针与(unsigned int)转换以及解引用。

三、stm32f103xe.h 映射组成

相关推荐
FreakStudio9 天前
W55MH32L-EVB 上手测评:硬件 TCP/IP 加持的以太网单片机,MicroPython 零门槛开发
python·单片机·嵌入式·大学生·面向对象·并行计算·电子diy·电子计算机
LDR00614 天前
Type-C 快充全面升级!LDR6601 赋能个人护理便携电机,重塑剃须刀 / 理发器新体验
c语言·开发语言
✎ ﹏梦醒͜ღ҉繁华落℘14 天前
单片机基础知识---stm32单片机的优先级
stm32·单片机·mongodb
Luminous.14 天前
C语言--day30
c语言·开发语言
玖玥拾14 天前
C/C++ 数据结构(七)栈、容器适配器
c语言·数据结构·c++··容器适配器
謓泽14 天前
C语言不是语法,是通往机器的地图。
c语言·开发语言
不会C语言的男孩14 天前
Linux 系统编程 · 第 8 章:进程基础
linux·c语言
u1521096484914 天前
S.S.Audio PRO A2音频隔离器
嵌入式硬件·音视频·实时音视频·视频编解码·视频
zd84510150014 天前
RS485 总线详解
单片机·嵌入式硬件
半条-咸鱼15 天前
【STM32】I2C协议原理、HAL读写与OLED显示操作
嵌入式硬件·c·信息与通信