STM32-GPIO
GPIO通用输入输出口
可配置为8种输入输出模式
引脚电平:0V~3.3V,部分引脚可容忍5V
输出模式下可控制端口输出高低电平,用以驱动LED、控制蜂鸣器、模拟通信协议输出时序等
输入模式下可读取端口的高低电平或电压,用于读取按键输入、外接模块电平信号输入、ADC电压采集、模拟通信协议接收数据等
GPIO基本结构

GPIO位结构

GPIO模式
通过配置GPIO的端口配置寄存器,端口可以配置成以下8种模式

浮空/上拉/下拉输入

模拟输入

开漏/推挽输出

复用开漏/推挽输出

操作STM32的GPIO
1. 使用RCC开启GPIO时钟
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE);
2. 使用GPIO_Init函数初始化GPIO
GPIO_InitTypeDef GPIO_InitStructure;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_13;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOC, &GPIO_InitStructure);
3. 使用输出或输入的函数控制GPIO口
GPIO_SetBits(GPIOC, GPIO_Pin_13); //置高
GPIO_ResetBits(GPIOC, GPIO_Pin_13);//置低