GPIO外设

news/2025/2/23 6:25:08

一、GPIO简介

  • GPIO,general-purpos IO port,通用输入输出引脚,所有的GPIO引脚都有基本的输入输出功能。
    • 最基本的输出功能:STM32控制引脚输出高、低电平,实现开关控制;
    • 最基本的输入功能:检测外部输入电平;
    • STM32芯片的GPIO引脚与外部设备连接起来,可实现与外部通讯、控制以及数据采集的功能;
    • STM32的GPIO被分成很多组(PAx,PBx…),每组有16个引脚;(STM32F103ZET6有GPIOA~GPIOG共7组GPIO,该芯片一共144个引脚,其中GPIO就占了一大部分)

二、GPIO框图剖析在这里插入图片描述

1.保护二极管、上下拉电阻

  • 保护二极管
    在这里插入图片描述

    • 在引脚处有两个保护二极管,防止引脚外部过高或过低的电压输入。尽管有这样的保护,并不意味着STM32的引脚能直接外界大功率驱动器件,强制驱动要么电机不转,要么导致芯片烧毁,必须要加大功率及隔离电路驱动。
      • 引脚电压高于VDD 时,上方二极管导通;
      • 引脚电压低于VSS时,下方二极管导通;
  • GPIO引脚线经过两个保护二极管后,向上流向“输入模式”结构,向下流向“输出模式”结构;

  • 上下拉电阻
    在这里插入图片描述

    • 上拉电阻的作用
      • 确定默认电平(高电平),提高抗干扰能力;
      • 增强驱动能力;
    • 下拉电阻的作用
    • 确定默认电平(低电平),提高抗干扰能力;

2. P-MOS管和N-MOS管

在这里插入图片描述

  • P-MOS和N-MOS管组成的单元电路,使GPIO具有“推挽输出”和“开漏输出”两种模式
    • 推挽输出。
      • 该结构中输入高电平时—>经过反向—>上方P-MOS导通,下方N-MOS关闭,对外输出高电平;
      • 该结构中输入低电平时—>经过反向—>上方P-MOS关闭,下方P-MOS导通,对玩输出低电平;
      • 当引脚高低电平切换时,两个管子轮流导通,P管负责灌电流,N管负责拉电流,使其负载能力和开关速度都比普通的方式有很大的提高。推挽输出的低电平为0V,高电平为3.3V;

使用库函数点亮LED灯


http://www.niftyadmin.cn/n/5863109.html

相关文章

CDGA|企业数据治理实战:从疏通“信息河”到打造优质“数据湖”

在当今的数字化时代,数据已成为企业的重要资产,其价值不言而喻。然而,面对海量的数据,如何进行有效的治理,将其转化为企业的竞争优势,成为了众多企业面临的难题。本文将深入探讨企业数据治理的实战策略&…

[实现Rpc] 服务端 | RpcRouter实现 | Builder模式

目录 项目服务端独用类的实现 1. RpcRouter类的实现 ServiceDescribe SDescribeFactory ⭕ Builder模式 1. 动机 2. 模式定义 3. 要点总结 4. 代码感受 ServiceManager RpcRouter 4. 代码感受 ServiceManager RpcRouter 前文我们就将 Rpc 通用类都实现完啦&#…

MySQL 架构

目录 1. MySQL 架构概览 (1) 客户端/服务器架构 (2) 存储引擎架构 2. 主要组件 (1) 客户端工具 (2) MySQL 服务器 (3) 存储引擎 3. MySQL 架构图 4. MySQL 架构的特点 5. MySQL 的高级架构 (1) 主从复制(Master-Slave Replication) (2) 主主…

透彻理解:方差、协方差、相关系数、协方差矩阵及其应用

最近看了几篇跨领域特征对齐方面的经典文献,学者们搞了很多花样,如有的提出一阶统计特征对齐,有的提出二阶统计特征对齐,有的学者提出高阶统计特征对齐。 通俗而言,就是在统计特征层面对跨域特征进行对齐,…

.NET MVC实现电影票管理

.NET MVC(Model-View-Controller)是微软推出的基于 Model-View-Controller 设计模式的 Web 应用框架,属于 ASP.NET Core 的重要组成部分。其核心目标是通过清晰的分层架构实现 高内聚、低耦合 的开发模式,适用于构建可扩展的企业级…

【数据结构初阶第十五节】堆的应用(堆排序 + Top-K问题)

必须有为成功付出代价的决心,然后想办法付出这个代价。云边有个稻草人-CSDN博客 对于本节我们要提前掌握前一节课堆的相关实现才能学好本次的知识,一定要多画图多敲代码看看实现的效果是啥(Crazy!)开始吧! …

qt-C++笔记之创建和初始化 `QGraphicsScene` 和 `QGraphicsView` 并关联视图和场景的方法

qt-C笔记之创建和初始化 QGraphicsScene 和 QGraphicsView 并关联视图和场景的方法 code review! 参考笔记 1.qt-C笔记之创建和初始化 QGraphicsScene 和 QGraphicsView 并关联视图和场景的方法 2.qt-C笔记之QGraphicsScene和 QGraphicsView中setScene、通过scene得到view、通过…

C++面试笔记(持续更新...)

1.C的特性 封装:将数据和具体实现在类中隐藏,对外只留出接口方便调用。 继承:子类继承父类的方法和全部数据,提高软件按复用率 多态:自继承的条件下,继承自同一父类的类的同一的方法对同一个事物具有不同的…