一、寄存器介绍(详见中文参考手册7.4):
每组GPIO下面包含10个寄存器。也就是10个寄存器,一共可以控制一组GPIO的16个IO口。最多7组IO,也就是70个寄存器。
寄存器分别如下:
一个端口模式寄存器(GPIOx_MODER)
一个端口输出类型寄存器(GPIOx_OTYPER)
一个端口输出速度寄存器(GPIOx_OSPEEDR)
一个端口上拉下拉寄存器(GPIOx_PUPDR)
一个端口输入数据寄存器(GPIOx_IDR)
一个端口输出数据寄存器(GPIOx_ODR)
一个端口置位/复位寄存器(GPIOx_BSRR)
一个端口配置锁存寄存器(GPIOx_LCKR)
两个复用功能寄存器(低位GPIOx_AFRL& GPIOx_AFRH)
二、寄存器详解
①端口模式寄存器(GPIOx_MODER)
②端口输出类型寄存器(GPIOx_OTYPER)
③输出速度寄存器(GPIOx_OSPEEDR)
④端口上拉下拉寄存器(GPIOx_PUPDR)
⑤端口输出数据寄存器(GPIOx_ODR)
⑥端口输入数据寄存器(GPIOx_IDR)
⑦端口置位/复位寄存器(GPIOx_BSRR)
注意:如果在配置IO的寄存器前一定要先配置时钟的寄存器,与库函数版本一样
各总线、外设基地址可参考STM32F4xx中文参考手册2.3节的存储器映射