STM32的GPIO

STM32的GPIO开发涉及配置GPIO端口、选择复用功能、设置输入输出模式等。STM32CubeMX允许用户自动生成工程代码,简化配置过程。常见的GPIO操作包括使用HAL库的GPIOWritePin和GPIOTogglePin函数来控制电平输出和翻转。了解上拉和下拉电阻的概念有助于理解GPIO的输入状态。本文详细阐述了STM32 GPIO的基础知识和实践应用。
摘要由CSDN通过智能技术生成

STM32的GPIO开发基础

知识要点

  • GPIO:General Purpose Input & Output,即通用目的的输入输出端口,可以理解为芯片的引脚,实现高低电平的输入和高低电平的输出。

  • 一个引脚具有多个功能称之为引脚的功能复用,但在实际应用中只能选择其中一种功能来使用

  • STM32芯片最拥有GPIOA、GPIOB…GPIOG等7组端口,每组端口最多拥有Pin0、Pin1 …Pin15共16个引脚

  • STM32的每个I/O端口都可以自由编程,但/O端口寄存器必须按32位字(4个字节)被访问。(1个字等于两个字节、1个字节等于8位、1KB等于1024字节)

  • STM32的每个l/O端口都由7个寄存器来控制。

  • STM32的I/O端口可以由软件配置成8种模式

    • 1-推挽输出
    • 2-开漏输出
    • 3-推挽式复用功能
    • 4-开漏式复用功能
    • 5-模拟输入(AD转换的模拟信号)
    • 6-浮空输入
    • 7-下拉输入
    • 8-上拉输入

    推挽输出:
    可以输出高,低电平,连接数字器件; 推挽结构一般是指两个三极管分别受两互补信号的控制,总是在一个三极管导通的时候另一个截止。高低电平由IC的电源低定。
    推挽电路是两个参数相同的三极管或MOSFET,以推挽方式存在于电路中,各负责正负半周的波形放大任务,电路工作时,两只对称的功率开关管每次只有一个导通,所以导通损耗小、效率高。输出既可以向负载灌电流,也可以从负载抽取电流。推拉式输出级既提高电路的负载能力,又提高开关速度。

  • 上拉电阻和下拉电阻
    在电子元器件间中,并不存在上拉电阻和下拉电阻这两种实体的电阻,之所以这样称呼,原因是根据电阻不同使用的场景来定义的,其本质还是电阻。就像去耦电容,耦合电容一样,也是根据其应用场合来取名,其本质还是电容。
    上拉电阻的定义:在某信号线上,通过电阻与一个固定的高电平VCC相接,使其电压在空闲状态保持在VCC电平,此时电阻被称为上拉电阻。
    同理,下拉电阻的定义:将某信号线通过电阻接在固定的低电平GND上,使其空闲状态保持GND电平,此时的电阻被称为下拉电阻。
    如下图所示,如果上拉电阻的阻值在上百K,能提供给信号线上负载电流非常小,对负载电容充电比较慢,此时电阻被称为弱上拉。
    同理当下拉的电阻非常大时,导致下拉的速度比较缓慢,此时的电阻被称为弱下拉。而当上下拉的电平可以提供较大的电流给芯片时,此时的电阻被称为是强上拉或强下拉。在这里插入图片描述

在STM32CubeMX中配置参数

在这里插入图片描述
利用STM32CubeMX可以根据对芯片配置 的相关的参数自动生成工程代码

常用的2个GPIO输出的HAL库函数

  • GPIO电平输出HAL库函数
    void HAL_GPlO_WritePin(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin, GPIO_PinState PinState);
    理解三个参数:

    • 1- GPIOx:目标引脚的端口号
    • 2- GPIO_Pin:目标引脚的引脚号。
    • 3- PinState:高电平----GPIO_PIN_SET;低电平----GPIO_PIN_RESET

    如:向PB8引脚输出高电平
    HAL_GPIO_WritePin(GPIOB,GPIO_PIN_8,GPIO_PIN_SET);

  • GPIO电平翻转HAL库函数
    void HAL_GPIO_TogglePin(GPIO_TypeDef* GPIOx,uint16_t GPIO_Pin);
    如:将PA3引脚输出电平翻转
    HAL_GPIO_TogglePin(GPIOA;GPIO_PIN_3);

GPIO的重要数据结构和HAL库函数

在这里插入图片描述

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值