STM32——GPIO(点亮LED)

一、GPIO是什么?

1、GPI/O (general porpose intput output):通用输入输出端口 的简称,通俗地说,就是我们所学的51单片机的IO口,即P0_0等。但要注意:并非所有的引脚都是GPIO

输出模式下可控制端口输出高低电平,用以驱动LED、控制蜂鸣器、模拟通信协议输出时序等

输入模式下可读取端口的高低电平或电压,用于读取按键输入、外接模块电平信号输入、ADC电压采集、模拟通信协议接收数据等

但与51单片机不同的是,++对stm32的GPIO来说++,**++使用前需要设置其工作方式,++**这也是51和32之间的一个区别。STM32 的每个 IO 端口都有 7 个寄存器来控制其工作方式,而每一个寄存器都需要用32bit来控制。在STM32中,一组GPIO有16个IO口,只有低16位有效,高16位无效。

不同型号的32GPIO分组不同,下面右图仅举例:

(图示为STM32F103C8T6核心板原理图)

2、引脚电平:0V~3.3V,部分引脚可容忍5V(下面I/O口电平为FT的即为可容忍5v的引脚)

二、GPIO工作模式

前面说到在使用GPIO时我们要对其进行工作模式的配置:

GPIO 端口的每个位可以由软件分别配置成以下8种模式:
浮空输入_IN_FLOATING
带上拉输入_IPU
带下拉输入_IPD
模拟输入_AIN
开漏输出_OUT_OD
推挽输出_OUT_PP
开漏复用输出_AF_OD
推挽复用输出_AF_PP
在STM32相关GPIO头文件里面就有相关的配置模式而可选择:

三、GPIO点亮LED

代码如下:

cs 复制代码
#include "stm32f10x.h"                  // Device header

int main(void)
{
	RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);
	
	GPIO_InitTypeDef GPIO_InitStruct;
	GPIO_InitStruct.GPIO_Mode = GPIO_Mode_Out_PP;
	GPIO_InitStruct.GPIO_Pin = GPIO_Pin_0;
	GPIO_InitStruct.GPIO_Speed = GPIO_Speed_50MHz;
	GPIO_Init (GPIOA ,&GPIO_InitStruct);
	
	GPIO_ResetBits(GPIOA ,GPIO_Pin_0);
	while(1)
	{
	
	}
}
相关推荐
Molesidy13 小时前
【Embedded Development】【高级MCU篇】基于野火STM32H750XBH6_Pro开发板的高级MCU开发学习之1点亮led
stm32·单片机·学习
FPGA小徐14 小时前
【硬件实战】立创 EDA 绘制 TF/SD 卡模块电路|SPI 模式原理图 + 阻抗匹配 + PCB 布局布线全教程
单片机·嵌入式硬件·fpga开发
狂奔蜗牛(bradley)14 小时前
EtherCAT DC 分布式时钟同步的 ModelSim 仿真:从帧模板到从站行为建模
人工智能·嵌入式硬件·fpga开发·架构
铅笔小新z15 小时前
【stm32】I2C 中断模式数据收发
stm32·单片机·嵌入式硬件
铅笔小新z15 小时前
【stm32】理解弱引用
javascript·stm32·嵌入式硬件
铅笔小新z15 小时前
【stm32】DMA
stm32·单片机·嵌入式硬件
Brilliantwxx16 小时前
【STM32】 DMA中断机制、NVIC 联动与配置实战前章
stm32·单片机·嵌入式硬件·mcu
我叫洋洋17 小时前
涂鸦 T5+ hashcat 自动化破解 WPA2:从单缺 M2 到全自动值守的踩坑实录 破解wifi 密码
运维·单片机·自动化
Jason_zhao_MR1 天前
米尔电子参展预告_中国工博会2026-外发版
嵌入式硬件·机器人·工业控制
Zw-awa1 天前
电机家族:有的电机听“目标”,有的电机听“力气”
stm32