STM32 寄存器地址名称映射
来源:互联网 发布:淘宝图片包是什么 编辑:程序博客网 时间:2024/05/01 20:39
stm32固件库内可以看见指向结构体的指针,其赋值如下:
例:GPIOA->ODR=0x00000000;此句是为ODR寄存器赋值为0x00000000;
在stm32f10x.h文件里定义了以下结构体
typedef struct
{
__IO uint32_t CRL;
__IO uint32_t CRH;
__IO uint32_t IDR;
__IO uint32_t ODR;
__IO uint32_t BSRR;
__IO uint32_t BRR;
__IO uint32_t LCKR;
} GPIO_TypeDef;
然后 定位GPIO_TypeDef,到 #define GPIOA ((GPIO_TypeDef *) GPIOA_BASE)
发现 GPIOA_BASE被强制转换为GPIO_TypeDef指针。注意:C语言里,用p->num格式表示p所指向结构体中的num成员。
继续定位 GPIOA_BASE,发现其是 #define GPIOA_BASE (APB2PERIPH_BASE + 0x0800) 为基址加变址
继续定位APB2PERIPH_BASE :#define APB2PERIPH_BASE (PERIPH_BASE + 0x10000)
继续定位PERIPH_BASE :#define PERIPH_BASE ((uint32_t)0x40000000) 发现其为一个地址
把地址相加,0x0800+0x10000+0x40000000=0x40010800
和手册里的值相等
gpio其他寄存器地址从首地址依次加四。此部分介绍在《stm32不完全手册-库函数版》p104页有介绍。
- STM32 寄存器地址名称映射
- stm32寄存器地址名称映射
- MDK中寄存器地址名称映射分析
- 寄存器名称和地址的映射分析
- 寄存器名称和地址的映射分析
- 嵌入式学习--step11 寄存器地址名称映射/系统时钟
- 【记录】寄存器地址映射
- STM32外设寄存器地址定义
- STM32存储器地址映射
- stm32库中地址映射
- STM32-库开发-地址映射
- 简谈stm32的地址映射
- STM32入门系列-STM32外设地址映射
- 关于stm32寄存器地址定义的小结
- stm32之重映射与地址映射
- STM32片上Flash内存映射、页面大小、寄存器映射
- STM32片上FLASH内存映射、页面大小、寄存器映射
- STM32片上Flash内存映射、页面大小、寄存器映射
- 前端模块化
- hdu 1087 Super Jumping! Jumping! Jumping!(最大上升子序列之和)
- quartus ii 使用ModelSim
- HTTP状态码
- Linux下" >/dev/null 2>&1 "相关知识说明
- STM32 寄存器地址名称映射
- jsp处理中文乱码
- Python输出字符奇数位置
- Hadoop伪分布式搭建-(3)
- CSS3 RGBA
- 解决输入法挤兑布局导致布局变形
- 学习网址
- Redis配置文件参数说明
- DataGuard 11g 之客户端TAF 配置