问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

STM32 GPIO配置详解:点亮LED灯

创作时间:
作者:
@小白创作中心

STM32 GPIO配置详解:点亮LED灯

引用
CSDN
1.
https://m.blog.csdn.net/2401_84378523/article/details/145336070

本教程将详细介绍如何在STM32F407ZET6微控制器上配置GPIO以点亮LED灯。通过本文,你将学习到如何新建相关文件、初始化LED以及进行点灯操作的具体步骤和代码实现。

本次实验基于STM32F407ZET6微控制器,主要目标是通过配置GPIO来实现LED灯的点亮。

新建文件

首先需要创建两个文件:LED.cLED.h,并将它们封装到Driver文件夹中。双击Driver文件夹,将LED.c添加进来。

LED.cmain.c文件中引入头文件LED.h

LED初始化

LED初始化本质上是对GPIO的初始化。在使用GPIO引脚时,都需要对其进行相应的配置。这里我们直接复制库函数中的相关代码。

定义结构体变量

GPIO_InitTypeDef  GPIO_InitStructure;

配置时钟

需要开启GPIOG族的时钟,因为LED灯的引脚属于GPIOG组(根据电路原理图确定)。

RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOG, ENABLE);

选择需要配置的引脚

根据电路原理图,找到LED1对应的引脚位置。通过搜索得知,LED1对应的是PG13引脚。

GPIO_InitStructure.GPIO_Pin = GPIO_Pin_13;

选择工作模式

设置为输出模式。

GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT;

选择输出模式

选择推挽输出模式。

GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;

选择输入模式

选择浮空输入模式。

GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL;

配置速度

设置切换速度为100MHz。

GPIO_InitStructure.GPIO_Speed = GPIO_Speed_100MHz;

GPIO初始化

使用初始化函数对GPIOG组的引脚进行初始化。

GPIO_Init(GPIOG, &GPIO_InitStructure);

点灯操作

根据电路图,当引脚输出低电平时,LED灯才会亮起。因此,我们需要将引脚配置为低电平输出。

LED_Init函数中声明,并在main.c文件中调用该函数。

main.c中使用GPIO_ResetBits函数将引脚置为低电平,从而点亮LED1灯。

完成上述步骤后,编译并下载程序,即可实现LED1灯的点亮。

资源包

相关资源包可在百度网盘下载:
链接: https://pan.baidu.com/s/1DZZ_kP7jXLYeisntS9PZzA?pwd=6ujf
提取码: 6ujf

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号