stm32学习随笔(三)——GPIO资源,工作模式,寄存器

详见【正点原子】 手把手教你学STM32 系列视频之 STM32F4-基于探索者F407

管脚查询

GPIO可以通过ST官方的数据手册《STM32F4ZGT6.pdf》p46页开始获得每一个管脚的详细功能解释,截取一页做例子:
stm32学习随笔(三)——GPIO资源,工作模式,寄存器
FT代表5v容忍

stm32学习随笔(三)——GPIO资源,工作模式,寄存器

GPIO的8种工作模式:

stm32学习随笔(三)——GPIO资源,工作模式,寄存器
stm32学习随笔(三)——GPIO资源,工作模式,寄存器

4种输入模式

stm32学习随笔(三)——GPIO资源,工作模式,寄存器
浮空下半部分电路不工作
stm32学习随笔(三)——GPIO资源,工作模式,寄存器
stm32学习随笔(三)——GPIO资源,工作模式,寄存器
stm32学习随笔(三)——GPIO资源,工作模式,寄存器
用于AD转换,输入到ADC

4种输出模式

stm32学习随笔(三)——GPIO资源,工作模式,寄存器
2的输出控制电路输入1,NMOS不导通输出1则4567输入取决于外部信号
2的输出控制电路输入0,NMOS导通输出0,io端口被下拉则输入为0
stm32学习随笔(三)——GPIO资源,工作模式,寄存器
差别在于不是由CPU写寄存器而是由复用功能外设控制输出
stm32学习随笔(三)——GPIO资源,工作模式,寄存器
注意包括了PMOS管
2的输出控制电路输入1,NMOS不导通输出1,io端口被上拉则输入为1
2的输出控制电路输入0,NMOS导通输出0,io端口被下拉则输入为0
stm32学习随笔(三)——GPIO资源,工作模式,寄存器
复用输入不同而已
以上图是M3的,M4是最上面的结构
stm32学习随笔(三)——GPIO资源,工作模式,寄存器
开漏输出下输出1的电平是由外部上下拉决定的。
推挽输出下输出1是强高电平

GPIO相关配置寄存器

stm32学习随笔(三)——GPIO资源,工作模式,寄存器
每一组IO都含有上面10个寄存器,F4一共有7组共70个寄存器!
具体寄存器查询《STM32F4XX中文参考手册》7.4节,讲的很清楚,就没必要当搬运工了QAQ
注意GPIO 端口输出数据寄存器 (GPIOx_ODR) (x = A…I)和GPIO 端口置位/复位寄存器 (GPIOx_BSRR) (x = A…I)的区别:
ODR寄存器置为1则输出为1,置为0则对IO口不产生影响(使用BSRR中的低16位)

BSRR寄存器BSy置为1则输出为1,置为0则对IO口不产生影响
BSRR寄存器BRy置为1则输出为0,置为0则对IO口不产生影响
stm32学习随笔(三)——GPIO资源,工作模式,寄存器
另外,所有IO口都可以作为中断输入