• 嵌入式开发笔记: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 管脚用作外部中断线路

  • 相关阅读:
    H5判断当前环境是否为微信小程序
    Java中的mysql——面试题+答案(数据库设计)——第25期
    【React源码】(二)React 工作循环 (workLoop)
    c# - - - CentOS 7 部署ASP.Net Core项目
    centos7.6部署fabric以及链码
    Git分布式版本控制工具
    【HarmonyOS】应用屏蔽截屏和录屏
    C#,哈密顿环问题(Hamiltonian Cycle problem)的算法与源程序
    SOA(面向服务架构)是什么?
    S波与P波的定义(光波电矢量)(菲涅耳公式)
  • 原文地址:https://blog.csdn.net/bug_love/article/details/133223597