当前位置: 首页 > news >正文

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 映射组成

http://www.lryc.cn/news/602793.html

相关文章:

  • 安宝特新闻丨安宝特与Logivations正式建立合作伙伴关系,共筑物流新未来
  • AI应用—C++在AI中的应用
  • 1.DRF 环境安装与配置
  • 《C++继承详解:从入门到理解公有、私有与保护继承》
  • Ansible+Shell框架中,如何管理敏感信息
  • [蓝牙通信] NimBLE init启动 | 时间抽象-转换
  • C语言基础第15天:从数组指针到指针函数
  • 快速构建基于React.js的用户注册与登录的Web应用程序
  • 图像识别边缘算法
  • 数学建模算法-day[13]
  • QGIS基于规则的道路分级制图及Leaflet集成展示实例
  • Polkadot 的 Web3 哲学:从乔布斯到 Gavin Wood 的数字自由传承
  • 开始记录一步步学习pcl
  • Go语言-->变量
  • DBAPI 实现分页查询的两种方法
  • 若依【(前后端分离版)SpringBoot+Vue3】
  • JVM 笔记:类加载、内存管理、垃圾收集与垃圾收集器
  • JVM 垃圾回收机制全景解析:从对象回收到收集算法
  • C++---初始化列表(initializer_list)
  • Flutter在购物场景中BLoC的应用
  • shell每日三题大神之路:第三天
  • 轻量级远程开发利器:Code Server与cpolar协同实现安全云端编码
  • AR眼镜:工业4.0时代高风险作业的安全守护者
  • 深度思考和搜索研究 最新的GSPO强化学习算法
  • 解决 xshell 无法连接win10 、win11的linux子系统
  • python每日一题练习
  • Java集合遍历的几种方式
  • 【docker】DM8达梦数据库的docker-compose以及一些启动踩坑
  • Thymeleaf th:object核心用法精解
  • LeetCode|Day28|67. 二进制求和|Python刷题笔记