STM32GPIO口的配置和应用 一个GPIO端口至少需要两个寄存器,一个做控制用的通用IO端口控制寄存器,还有一个是存放数据的通用IO端口数据寄存器。数据寄存器的每一位是和GPIO的硬件引脚对应的,而数据的传递方向是通过控制寄存器设置的,通过控制寄存器可以设置每一位引脚的数据流向。下面小编给大家介绍一下STM32GPIO口的配置和应用 1。STM32GPIO口的配置和应用 STM32F103ZET6 一共有7组IO口(有FT的标识是可以识别5v的) 每组IO口有16个IO 一共167112个IO 4种输入模式: (1)GPIOModeAIN模拟输入 (2)GPIOModeINFLOATING浮空输入 (3)GPIOModeIPD下拉输入 (4)GPIOModeIPU上拉输入 4种输出模式: (5)GPIOModeOutOD开漏输出 (6)GPIOModeOutPP推挽输出 (7)GPIOModeAFOD复用开漏输出 (8)GPIOModeAFPP复用推挽输出 从IO引脚向左沿着箭头方向,首先遇到两个开关和电阻,与VDD相连的称为上拉电阻,与Vss相连的称为下拉电阻,再连接到施密特触发器(信号转换)把电压信号转化为0、1的数字信号,存储在输入数据寄存器(IDR)。然后通过设置配置寄存器(CRL、CRH)控制这两个开关,于是就可以得到GPIO的上拉输入、下拉输入模式和浮空输入模式,浮空就是既不接上拉也不接下拉。在上拉下拉浮空输入模式中,输出缓冲器被禁止(PMOS和NMOS),施密特触发器输入被激活,根据输入配置(上拉,下拉或浮动)的不同,弱上拉和下拉电阻被连接,读输入数据寄存器的值可得到IO状态。 上拉输入:接入上拉电阻,与电源接通,所以默认状态下读到的GPIO引脚电平为高电平,即为1 下拉输入:接入下拉电阻,与地接通,所以默认状态下读到的GPIO引脚电平为低电平,即为0 浮空输入:既不接上拉也不接下拉,所以输入的是高电平就是高电平,低电平就是低电平 在输入模式下可以通过ODR寄存器相对应的位来确定具体是上拉还是下拉,0是下拉,1是上拉。