通用输入输出接口GPIO是嵌入式系统、单片机开发过程中最常用的接口,用户可以通过编程灵活的对接口进行控制,实现对电路板上LED、数码管、按键等常用设备控制驱动,也可以作为串口的数据收发管脚,或AD的接口等复用功能使用。因此其作用和功能是非常重要的,STM32芯片的GPIO引脚与外部设备连接起来,从而实现与外部通讯、控制以及数据采集的功能。
芯片引脚
STM32芯片上的引脚类型被分为了:电源引脚、晶振引脚、GPIO引脚等。GPIO引脚类的所有引脚又通过编号分为了:PA类、PB类、等,根据芯片类型不同类数也不同,但每类引脚最多只有16个,例如:PA0~PA15。STM32-G030C8T6的部分引脚功能如下图:(注:所有实验均是基于STM32-G030C8T6型号核心板进行开发测试)
GPIO工作模式
GPIO引脚的工作模式分为两种:输入模式和输出模式,这两种模式也有不同的类型。
**输入模式:**浮空输入、上拉输入、下拉输入、模拟输入
**输出模式:**开漏输出、复用开漏输出、推挽输出、复用推挽输出
GPIO相关寄存器介绍
GPIO寄存器MODER(端口模式寄存器)
GPIO寄存器OTYPER(端口输出类型寄存器)
GPIO寄存器OSPEEDR(输出速度寄存器)
GPIO寄存器PUPDR(上拉 / 下拉寄存器)
GPIO寄存器IDR(输入数据寄存器)