GPIO输入/输出(标准库)

本文详细介绍了STM32F407ZG微控制器的GPIO功能,包括GPIO端口配置、工作模式、初始化代码及库函数使用方法。通过具体实例展示了如何配置GPIO引脚实现LED控制和按键检测。

1、GPIO功能概述

(1)概述

STM32F407ZG有8个16引脚的GPIO端口。还有一个12引脚的PI端口。

GPIO端口都连接在AHB1总线上,自高时钟频率168MHz。

GPIO引脚能承受5V电压.

每个GPIO端口有4个32位寄存器,用于配置GPIO引脚的工作模式;1个32位输入数据寄存器和1个32位输出数据寄存器,还有复用功能选择寄存器等。

(2)GPIO引脚可以配置多种工作模式:

输入浮空(input floating):作为GPIO输入引脚,不使用上拉或下拉电阻。

输入上拉(input pull-up),作为GPIO输入引脚,使用内部上拉电阻。当没有外部输入时,引脚输入电平为高电平。

输入下拉(input pull-down):作为GPIO输入引脚,使用内部下拉电阻。当没有外部输入时,引脚输入电平为低电平。

模拟(analog):作为GPIO模拟引脚,用于ADC输入引脚或DAC输出引脚。

具有上拉或下拉的开漏输出(output open-drain):如果不使用上拉或下拉电阻,开漏输出1时引脚为高阻态,输出0时引脚是低电平。这种模式可用于共用总线的信号。

具有上拉或下拉的推挽输出(output push-pull):如果不使用上拉或下拉电阻,推挽输出1时引脚是高电平,输出0时引脚为低电平。若需要增强引脚输出驱动能力,就可以使用上拉。例如需要GPIO引脚输出高电平点亮LED时。

具有上拉或下拉的复用功能推挽(afternate function push-pull)。

具有上拉或下拉的复用功能开漏(afternate function open-drain)。

2、初始化代码

(1)GPIO工作模式

typedef enum
{ 
  GPIO_Mode_IN   = 0x00, /*!< GPIO Input Mode */
  GPIO_Mode_OUT  = 0x01, /*!< GPIO Output Mode */
  GPIO_Mode_AF   = 0x02, /*!< GPIO Alternate function Mode */
  GPIO_Mode_AN   = 0x03  /*!< GPIO Analog Mode */
}GPIOMode_TypeDef;

(2)GPIO输出频率


                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

星顶照

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值