STM32中每组由16个IO,不同的型号IO分组不一样,比如STM32F407ZGT6 一共有7组IO口, 每组IO口有16个IO, 一共16X7=112个IO,外加2个PH0和PH1,一共114个IO口。分别是GPIOA,GPIOB---GPIOG,外加2个PH0和PH1
一、GPIO介绍
GPIO:就是一个引脚作为输入或者输出。
GPIO的八种工作模式:输入输出是相对于CPU,
四种输入、四种输出模式及四种输出最大速度
输入:外部数据输入到开发板
输出:开发板的数据输出到外部设备
(
1
)
GPIO_Mode_AIN
模拟输入
将
IO口作为模拟输入接口,输入的可能是变化的值,接收外部的模拟信号输入
(
2)
GPIO_Mode_IN_FLOATING 浮空输入
复位上电的时候,引脚不确定电平的高低
(3) GPIO_Mode_IPD 下拉输入
将
IO口作为通用输入接口,只能输入0或者1,强制下拉,一般是为了输入强低电平
(
4
)
GPIO_Mode_IPU
上拉输入
将
IO口作为通用输入接口,只能输入0或者1,强制下拉,一般是为了输入强高电平
(
5
)
GPIO_Mode_Out_OD
开漏输出
(带上拉或者下拉)
要得到高电平状态需要上拉电阻才行,可以作为电流型驱动
(
6
)
GPIO_Mode_AF_OD
开漏复用输出
(带上拉或者下拉)
复用功能,不只是单纯的作为输入输出,可以作为其他功能的引脚:串口、
I2C、SPI,要得到高电平状态需要上拉电阻才行
(
7
)
GPIO_Mode_Out_PP
推挽输出
(带上拉或者下拉)
——IO
输出
0-
接
GND
,
IO
输出
1 -
接
VCC
,读输入值是未知的,输出
0,就一定是0,输出1就一定是1
(
8
)
GPIO_Mode_AF_PP
推挽复用输出
(带上拉或者下拉)
复用功能,不只是单纯的作为输入输出,可以作为其他功能的引脚:串口、
I2C、SPI,输出0,就一定是0,输出1就一定是1
二、GPIO四种最大输出速度:2MHZ、25MHZ、50MHZ、100MHZ
三
、M3和M4的IO口的基本结构及区别:上下拉电阻的所在位置的区别