STM32单片机的每组IO口都有4个32位装备寄存器用于装备GPIOx_MODER, GPIOx_OTYPER, GPIOx_OSPEEDR和GPIOx_PUPDR,2个32位数据寄存器用于装备输入和输出寄存器GPIOx_IDR和GPIOx_ODR,1个32方位位复位寄存器GPIOx_BSRR,1个32位确定寄存器GPIOx_LCKR和2个32位复用功用挑选寄存器GPIOx_AFRH和GPIOx_AFRL。
GPIO的输出状况能够装备为推挽或开漏加上上拉或下拉。输出数据既能够来自输出数据寄存器,也能够由其他外围寄存器宣布。每组IO口的速度都是能够装备的,能够装备为25MHz,50MHz或是100Mhz。数据输入相同也有几种形式,它们分别为浮空,上下拉和模仿,而且输入数据相同能够装备为来自输入寄存器或是其他的外围寄存器。置位复位寄存器能够方便地对每一位进行独自的装备,这在许多情况下十分有用。
经过上一段对GPIO口形式的阐明,在这里对它的作业形式进行一个小结,它一共有八种组合,即有八种可装备的作业形式,分别是:
输入浮空
输入上拉
输入下拉
模仿
带上拉或下拉的开漏输出
带上拉或下拉的推挽输出
带上拉或下拉的复用功用推挽
带上拉或下拉的复用功用开漏