博客
关于我
STM32F4系列——对于存储器地址的理解
阅读量:393 次
发布时间:2019-03-05

本文共 774 字,大约阅读时间需要 2 分钟。

在STM32系列中,我们知道利用结构体类型来封装寄存器,但是后面的那个地址偏低怎么理解呢?

/* GPIO 寄存器列表 */

5 typedef struct {

6 uint32_t MODER; /*GPIO 模式寄存器 地址偏移: 0x00 */
7 uint32_t OTYPER; /*GPIO 输出类型寄存器 地址偏移: 0x04 */
8 uint32_t OSPEEDR; /*GPIO 输出速度寄存器 地址偏移: 0x08 */
9 uint32_t PUPDR; /*GPIO 上拉/下拉寄存器 地址偏移: 0x0C */
10 uint32_t IDR; /*GPIO 输入数据寄存器 地址偏移: 0x10 */
11 uint32_t ODR; /*GPIO 输出数据寄存器 地址偏移: 0x14 */
12 uint16_t BSRRL; /*GPIO 置位/复位寄存器低 16 位部分 地址偏移: 0x18 */
13 uint16_t BSRRH; /*GPIO 置位/复位寄存器高 16 位部分 地址偏移: 0x1A */
14 uint32_t LCKR; /*GPIO 配置锁定寄存器 地址偏移: 0x1C */
15 uint32_t AFR[2]; /*GPIO 复用功能配置寄存器 地址偏移: 0x20-0x24 */

 

16 } GPIO_TypeDef;

 

STM32中的存储器地址是这样理解的:地址偏移的单位是Byte,而32位的寄存器刚好对应4字节,而这样理解的根源在于:可以从STM32的指导书中,有个存储器分类字样的表格,我们可以看到,

地址范围都是MB的即MByte的,512MB=536870911Byte,1FFF FFFF=536870911(十进制数),所以可见地址是针对与字节而言的!!

你可能感兴趣的文章
nginx主要流程(未完成)
查看>>
Nginx之二:nginx.conf简单配置(参数详解)
查看>>
Nginx从入门到精通
查看>>
Nginx从入门到精通(全)
查看>>
Nginx从安装到高可用,一篇搞定!
查看>>
Nginx代理websocket配置(解决websocket异常断开连接tcp连接不断问题)
查看>>
Nginx代理初探
查看>>
nginx代理地图服务--离线部署地图服务(地图数据篇.4)
查看>>
Nginx代理外网映射
查看>>
Nginx代理模式下 log-format 获取客户端真实IP
查看>>
Nginx代理解决跨域问题(导致图片只能预览不能下载)
查看>>
Nginx代理访问提示ERR_CONTENT_LENGTH_MISMATCH
查看>>
Nginx代理配置详解
查看>>
Nginx代理静态资源(gis瓦片图片)实现非固定ip的url适配网络环境映射ip下的资源请求解决方案
查看>>
Nginx代理静态资源(gis瓦片图片)实现非固定ip的url适配网络环境映射ip下的资源请求解决方案
查看>>
nginx优化日志拒绝特定404请求写入
查看>>
Nginx优化解析
查看>>
Nginx使用proxy_cache指令设置反向代理缓存静态资源
查看>>
Nginx做反向代理时访问端口被自动去除
查看>>
Nginx入门教程-简介、安装、反向代理、负载均衡、动静分离使用实例
查看>>