MDK中STM32寄存器地址名称映射

1、STM32F103ZET6中z代表引脚数目,该芯片有144个引脚,除去vcc,gnd等特定功能的引脚外,有112个可以用作IO口。共分为7组,GPIOA-GPIOG,分别从0-15,每组16个IO口,这16个IO口是由7个寄存器来设置的,下面具体说一下这7个寄存器。

两个32位配置寄存器(GPIOx_CRL ,GPIOx_CRH)
GPIOx_CRL :端口配置低寄存器
GPIOx_CRH:端口配置高寄存器
(分别设置0-7与8-15io端口的工作模式与传输速度。
在使用过程中首先要对相应的位清零,然后再设置参数)

两个32位数据寄存器 (GPIOx_IDR和GPIOx_ODR)
GPIOx_IDR:端口输入寄存器
GPIOx_ODR:端口输出寄存器

一个置位/ 复位寄存器(GPIOx_BSRR)
一个复位寄存器(GPIOx_BRR)
一个锁定寄存器(GPIOx_LCKR)
GPIOx_BSRR:端口位设置/清除寄存器
GPIOx_BRR :端口位清除寄存器
GPIOx_LCKR:端口配置锁存寄存器

2、以GPIOA为例,它包含上述7个寄存器

在这里插入图片描述
这些地址相对于GPIOA的基地址进行偏移,而GPIOA的地址又相对于APB2总线的基地址进行便宜。所以当计算某个寄存器位置时,以GPIOA_CRH为例子
GPIOA_CRH的基地址=GPIOA的偏移量+APB2的基地址+CRH的偏移量。
同理APB2等其他的地址也可以推算出来。

猜你喜欢

转载自blog.csdn.net/li_little7/article/details/88868495