• 嵌入式开发笔记:STM32的外设GPIO知识学习


    GPIO简介:

    GPIO General Purpose Input Output )通用输入输出口
    可配置为 8 种输入输出模式
    引脚电平: 0V~3.3V ,部分引脚可容忍 5V (如舵机和驱动直流电机)
    输出模式下可控制端口输出高低电平,用以驱动 LED 、控制蜂鸣器、模拟通信协议输出时序等
    输入模式下可读取端口的高低电平或电压,用于读取按键输入、外接模块电平信号输入、 ADC 电压采集、模拟通信协议接收数据等

    GPIO基本结构:


    GPIO位结构:


    GPIO模式:

    提示:通过配置GPIO的端口配置寄存器,端口可以配置成以下8种模式

    模式名称

    性质

    特征

    浮空输入

    数字输入

    可读取引脚电平,若引脚悬空,则电平不确定

    上拉输入

    数字输入

    可读取引脚电平,内部连接上拉电阻,悬空时默认高电平

    下拉输入

    数字输入

    可读取引脚电平,内部连接下拉电阻,悬空时默认低电平

    模拟输入

    模拟输入

    GPIO无效,引脚直接接入内部ADC

    开漏输出

    数字输出

    可输出引脚电平,高电平为高阻态,低电平接VSS

    推挽输出

    数字输出

    可输出引脚电平,高电平接VDD,低电平接VSS

    复用开漏输出

    数字输出

    由片上外设控制,高电平为高阻态,低电平接VSS

    复用推挽输出

    数字输出

    由片上外设控制,高电平接VDD,低电平接VSS

    浮空/上拉/下拉输入:

     模拟输入:

    开漏/推挽输出 :

    复用开漏/推挽输出 

    GPIO库函数 :

    函数名 

    描述

    GPIO_DeInit
    将外设 GPIOx 寄存器重设为缺省值
    GPIO_AFIODeInit 
    将复用功能(重映射事件控制和 EXTI 设置)重设为缺省值
    GPIO_Init 
    根据 GPIO_InitStruct 中指定的参数初始化外设 GPIOx 寄存器
    GPIO_StructInit
    把 GPIO_InitStruct 中的每一个参数按缺省值填入
    GPIO_ReadInputDataBit 
    读取指定端口管脚的输入
    GPIO_ReadInputData 
    读取指定的 GPIO 端口输入
    GPIO_ReadOutputDataBit 
    读取指定端口管脚的输出
    GPIO_ReadOutputData 
    读取指定的 GPIO 端口输出
    GPIO_SetBits
    设置指定的数据端口位
    GPIO_ResetBits 
    清除指定的数据端口位
    GPIO_WriteBit 
    设置或者清除指定的数据端口位
    GPIO_Write 
    向指定 GPIO 数据端口写入数据
    GPIO_PinLockConfig
    锁定 GPIO 管脚设置寄存器
    GPIO_EventOutputConfig
    选择 GPIO 管脚用作事件输出
    GPIO_EventOutputCmd
    使能或者失能事件输出
    GPIO_PinRemapConfig 
    改变指定管脚的映射
    GPIO_EXTILineConfig
    选择 GPIO 管脚用作外部中断线路

  • 相关阅读:
    Git教程1:生成和提交SSH公钥到远程仓库
    Java(102):ES7.14,RestHighLevelClient创建索引时报错 createis deprecated
    基于Java实现一个简单的YACC
    ★「C++游戏」BattleOfPhantom:大乱斗游戏升级版
    styleSwin的各种bug
    JavaScript中的两种运行模式介绍(严格模式,正常模式)
    基于SpringCloud和Vue的前后端分离-预约挂号系统
    京东数据平台:2023年9月京东洗衣机行业品牌销售排行榜
    Kafka 生产者、消费者命令行操作
    USB转2路RS422串口
  • 原文地址:https://blog.csdn.net/bug_love/article/details/133223597