GPIO工作原理
(一)引脚说明
STM32F407ZGT6共有7组IO口,每组16个IO口,外加2个PH0和PH1,共114个IO口
7组:GPIOA-GPIOG
16个:GPIO0-GPIO15(注意不可能出现GPIO16)
(二)GPIO基本结构
1.标识FT的支持5V容忍
2.STM32大部分引脚除了当GPIO使用外,还可以复用为外设功能引脚
(三)GPIO的工作模式
1.输入:输入浮空模式/输入上拉模式/输入下拉模式/模拟模式
2.输出:开漏输出模式/开漏复用输出/推挽输出模式/推挽复用输出模式
3.推挽输出可以输出强高低电平,开漏输出只能输出强低电平,高电平需要外拉电阻拉高
(四)GPIO的相关配置寄存器
1.端口模式寄存器(GPIOx_MODER)
00:输入(复位)/01通用输出模式/10复用功能模式/11模拟模式
每两个控制一个IO,32位控制一组的16个IO
2.端口输出类型寄存器(GPIOx_OTYPER)
0输出推挽/1输出开漏
每位控制一个IO,低16位控制一组IO的16个IO口,高16位保留没有用
3.端口上拉/下拉寄存器(GPIOx_PUPDR)
00无上拉或下拉/01上拉/10下拉/11保留
4.端口输入数据寄存器(GPIOx_IDR)
5.端口置位/复位寄存器(GPIOx_ODR)
6.端口输出数据寄存器(GPIOx_BSRR)
0:不会对相应的ODRx执行任何的操作
1:对相应的ODRx复位 位31:16
置位 位15:0
7.端口复用功能寄存器
一些端口不仅可以作IO口,还可以复用为一些外设引脚