最左边的是APB2外设总线,在STM32中所有的GPIO都是挂载在APB2外设总线上的,其中GPIO外设的名称是按照GPIOA、GPIOB、GPIOC等等这样来命名的。
每个GPIO外设总共有16个引脚,编号是从0到15,在每个GPIO模块内主要包括寄存器和驱动器这些东西,寄存器就是一段特殊的存储器,内核可以通过APB2总线对寄存器进行读写,这样就可以完成输出电平和读取电平的功能了,这个寄存器的每一位对应一位引脚,其中输出寄存器写1,对应的引脚就会输出高电平,写0就输出低电平。输入寄存器读取为1,就证明对应的端口目前是高电平,读取0就是低电平。
STM32是32位的单片机,所有STM32内部的寄存器都是32位的,但是端口只有16位,所以这个寄存器只有对应的低16位有端口,高16位是没有用到的。
驱动器是用来增加信号的驱动能力的,驱动器来增大驱动能力。
如果STM32的引脚上电后,如果不初始化,默认是浮空输入的模式,在这个模式下,引脚不会输出电平,所有不会有什么影响。