零基础学STM32(三)-GPIO简单讲解

GPIO(通用输入输出)是微控制器(如STM32)中非常基本且重要的功能之一。它允许微控制器与外部设备进行数字通信,控制外部设备,或者接收来自外部设备的信号。GPIO引脚可以配置为输入或输出,并且可以设置为不同的模式以满足不同的应用需求。

主要特点:

  1. 多功能性:GPIO引脚可以配置为数字输入或输出,也可以复用为特定的外设功能,如UART、SPI、I2C等。

  2. 可配置性:可以通过软件配置GPIO引脚的电气特性,如上拉、下拉、开漏或推挽输出等。

  3. 灵活性:GPIO引脚可以单独控制,也可以成组控制,方便实现复杂的I/O管理。

  4. 速度:GPIO操作通常非常快,可以满足大多数实时控制需求。

常见用途:

  1. 控制LED灯:通过输出高电平或低电平来控制LED的亮灭。

  2. 读取按钮状态:将按钮连接到GPIO引脚,通过读取引脚的电平状态来检测按钮是否被按下。

  3. 与传感器通信:读取传感器输出的数字信号。

  4. 与其他微控制器或设备通信:通过UART、SPI、I2C等协议与其他设备进行数据交换。

配置步骤:

  1. 配置模式:选择GPIO引脚作为输入或输出,以及是否复用为特定外设功能。

  2. 配置上下拉:如果需要,可以配置上拉或下拉电阻。

  3. 配置输出类型:对于输出引脚,选择开漏或推挽输出。

  4. 配置输出速度:设置输出引脚的驱动能力,以适应不同的电压和电流需求。

八种工作模式:

  1. GPIO_Mode_AIN (模拟输入): 在此模式下,GPIO引脚用于模拟输入,通常用于ADC(模数转换器)等模拟功能。在这种模式下,引脚的电平是不确定的,完全由外部输入决定。

  2. GPIO_Mode_IN_FLOATING (浮空输入): 浮空输入模式下,GPIO引脚的电平信号直接进入输入数据寄存器。如果引脚悬空(无信号输入),则其电平状态不确定。

  3. GPIO_Mode_IPD (下拉输入): 在下拉输入模式下,GPIO引脚内部连接到下拉电阻。当引脚悬空时,由于下拉电阻的作用,引脚电平被拉低。

  4. GPIO_Mode_IPU (上拉输入): 上拉输入模式下,GPIO引脚内部连接到上拉电阻。当引脚悬空时,由于上拉电阻的作用,引脚电平被拉高。

  5. GPIO_Mode_Out_OD (开漏输出): 开漏输出模式下,通过设置位设置/清除寄存器或输出数据寄存器的值来控制引脚输出。如果输出高电平,则引脚处于高阻态;如果输出低电平,则引脚被驱动到低电平。

  6. GPIO_Mode_Out_PP (推挽输出): 推挽输出模式下,引脚可以通过内部的上拉和下拉电阻分别驱动到高电平和低电平状态。

  7. GPIO_Mode_AF_OD (复用开漏输出): 复用开漏输出模式下,引脚用于复用功能,如USART、SPI等。输出行为与开漏输出相似,但控制来自复用功能。

  8. GPIO_Mode_AF_PP (复用推挽输出): 复用推挽输出模式下,引脚同样用于复用功能,如USART、SPI等。输出行为与推挽输出相似,但控制来自复用功能。

GPIO是微控制器与外部世界交互的桥梁,其灵活性和多功能性使其成为各种应用中不可或缺的部分。

  • 10
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
STM32F407 的 GPIO 是指通用输入输出端口,可以用于连接各种外设或者控制 LED 灯等。在 STM32F407 中,每个 GPIO 端口都有一个对应的寄存器,用于配置该 GPIO 端口的功能和工作模式。以下是 STM32F407 GPIO 的设置讲解: 1. 选择 GPIO 端口:首先需要选择要使用的 GPIO 端口,例如 PC13 端口。 2. 配置 GPIO 工作模式:STM32F407 的 GPIO 端口有多种工作模式,包括输入、输出、复用等。需要根据实际需求选择相应的工作模式,并将相应的控制寄存器设置为对应的值。 3. 配置 GPIO 速度:GPIO 端口的速度也需要进行配置,包括低速、中速、高速等。需要根据实际需求选择相应的速度,并将相应的控制寄存器设置为对应的值。 4. 配置 GPIO 上下拉电阻:在输入模式下,需要配置 GPIO 的上下拉电阻,包括上拉、下拉和无电阻。需要根据实际需求选择相应的上下拉电阻,并将相应的控制寄存器设置为对应的值。 5. 配置 GPIO 输出状态:在输出模式下,需要配置 GPIO 的输出状态,包括高电平、低电平等。需要根据实际需求选择相应的输出状态,并将相应的控制寄存器设置为对应的值。 6. 读取或修改 GPIO 输入/输出状态:可以使用相应的寄存器进行 GPIO 输入/输出状态的读取或修改操作。 以上是 STM32F407 GPIO 的设置讲解,需要根据实际需求选择相应的配置项进行设置。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值