基于GPIO_InitTypeDef的参数初始化

目录

一、GPIO_InitTypeDef简介

二、结构体成员及详解

(一)、GPIO_Pin

(二)、GPIO_Mode

1、GPIO_MODE_INPUT:

2、GPIO_MODE_OUTPUT_PP:推挽输出模式

3、GPIO_MODE_OUTPUT_OD:开漏输出模式

4、GPIO_MODE_AF_PP:

5、GPIO_MODE_AF_OD:

(三)、GPIO_Speed:

(四)、GPIO_OType

(五)、GPIO_PuPd

写在后面:


一、GPIO_InitTypeDef简介

GPIO_InitTypeDef 是一个结构体类型,用于配置STM32微控制器的GPIO(通用输入输出)端口的初始化参数。在STM32的嵌入式开发中,要配置和控制GPIO引脚,通常需要创建一个 GPIO_InitTypeDef 结构体对象,并填写相关的参数,然后通过函数将这些参数应用到特定的GPIO端口。

二、结构体成员及详解

在配置结构体之前需要用RCC模块使能GPIOX外设时钟。方法详见

GPIO_InitTypeDef结构体的成员有GPIO_Pin、GPIO_Mode、GPIO_Speed、GPIO_OType、GPIO_PuPd,配置结构体对象的方式:

GPIO_InitStructure.GPIO_Pin=xx;

下面是对每个成员的详细分析解释:

(一)、GPIO_Pin

这是一个32位的整数,用于指定要配置的GPIO引脚。可以使用按位或运算符 | 来同时配置多个引脚。例如,要配置引脚0和引脚1或GPIOX上的所有引脚,可以使用 :

GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0;//只配置引脚0
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0 | GPIO_Pin_1; //同时配置引脚0和引脚1
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_ALL;//配置GPIOX的所有引脚

(二)、GPIO_Mode

用于指定STM32微控制器上的GPIO(通用输入输出)引脚的工作模式。工作模式决定了引脚在特定时刻是输入、输出、还是处于其他特定功能模式下的工作状态。

以下是常见的 GPIO_Mode 值以及它们的解释:

1、GPIO_MODE_INPUT

GPIO_MODE_INPUT 是一种GPIO引脚的工作模式,用于配置STM32微控制器上的GPIO引脚为输入模式。在这个模式下,GPIO引脚用于接收外部信号,通常与外部传感器、按钮、开关等输入设备连接,以读取它们的状态或数据。

2、GPIO_MODE_OUTPUT_PP(推挽):

在推挽输出模式下,输出引脚可以主动拉低(输出低电平)或拉高(输出高电平)。推挽输出通常用于连接到外部负载,如LED、继电器、驱动电机等。

  1. 输出电平控制:在推挽输出模式下,微控制器的输出引脚可以主动控制输出电平。通过设置寄存器中的相应位,可以使引脚输出高电平(通常为供电电压,如3.3V或5V)或低电平(通常为地或0V)。这允许您在引脚上产生数字信号。

  2. 电流输出能力:推挽输出引脚通常具有一定的输出电流能力,可以驱动外部负载。这意味着它们能够提供足够的电流来点亮LED、激活继电器、驱动电机等。

  3. 不易受外部干扰:由于推挽输出引脚在输出电平时提供一定的电流,它们通常不容易受到外部电路的影响或噪声的干扰。这使它们适用于要求电平稳定性的应用。

示例 : LED控制

假设您有一颗LED灯,希望通过STM32微控制器来控制它的亮灭。您可以使用推挽输出模式来实现这个任务。(LED正极端与引脚相连,负极端接地


                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值