GPIO的8种工作模式

一、8种工作模式

二、IO端口的基本结构

        下面是一张F1的IO的结构图。

        圆圈 2是芯片内部的上下拉电阻, 输入数据寄存器简称IDR ,cpu读IDR就可以知道外面的是高电平还是低电平,单片机IO口输出的高低电平主要依靠P-MOS和N-MOS,输出数据寄存器简称ODR,位设置清除寄存器BSRR

        如果IO输入5V电压,VDD为3.3V,VSS为0V,圆圈1部分的上半部分通路,下半部分不同路,上半部分就会因为电流过大烧掉保护二极管,-5V同理,保护二极管的能力比较弱,不能过多依赖。

 施密特触发器

        施密特触发器就是一种整形电路,可以将非标准方波,整形成方波。

        特点: 当输入电压高于正向阈值电压,输出为高; 当输入电压低于负向阈值电压,输出为低; 当输入在正负向阈值电压之间,输出不改。

 P-MOS和N-MOS

        MOS管是压控型元件,通过控制栅源电压( Vgs )来实现导通或关闭。

         G:栅极,S:源极,D:漏极

        P-MOS: VGS<0 导通,N-MOS: VGS>0 导通

三、4种输入模式

输入浮空

        上下拉电阻关闭,施密特触发器打开,双mos管关闭,路线如红笔所示。

        特点:空闲时,IO状态不确定,由外部环境决定。3.3V时数据寄存器IDR为1,0V时数据寄存器IDR为0。

输入上拉 

         上拉电阻打开,下拉电阻关闭,施密特触发器打开,双mos管关闭,路线如红笔所示。

        特点:空闲时,IO状态为高电平。3.3V时数据寄存器IDR为1,0V时数据寄存器IDR为0。

输入下拉 

       上拉电阻关闭,下拉电阻打开,施密特触发器打开,双mos管关闭,路线如红笔所示。

        特点:空闲时,IO状态为低电平。3.3V时数据寄存器IDR为1,0V时数据寄存器IDR为0。

模拟功能

        上拉电阻关闭,下拉电阻关闭,施密特触发器关闭,双mos管关闭,路线如红笔所示。

        特点:专门用于模拟信号的输入和输出。 

四、4种输出模式

开漏输出

        上拉电阻关闭,下拉电阻关闭,施密特触发器打开,P-MOS始终不导通,往输出数据寄存器ODR位写0,N-MOS导通,写1,N-MOS不导通,路线如红笔所示。

        特点:这种模式可以读IO输入引脚的高低电平,不能输出高电平,必须有外部上拉才能输出高电平。 

开漏式复用功能

        上拉电阻关闭,下拉电阻关闭,施密特触发器打开,P-MOS始终不导通路线如红笔所示。

        特点:这种模式可以读IO输入引脚的高低电平,不能输出高电平,必须有外部上拉才能输出高电平,由其他外设控制输出。

推挽输出

 

        上拉电阻关闭,下拉电阻关闭,施密特触发器打开,往输出数据寄存器ODR位写0,N-MOS导通,写1,N-MOS不导通,路线如红笔所示。

        特点:这种模式可以读IO输入引脚的高低电平,这种模式可以输出高低电平,驱动能力强。 

 推挽式复用功能

        上拉电阻关闭,下拉电阻关闭,施密特触发器打开0。

        特点:这种模式可以读IO输入引脚的高低电平,这种模式可以输出高低电平,驱动能力强,由其他外设控制输出。        

小结

        希望大家掌握这8种工作模式,在后期进行配置的时候非常重要。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/353005.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

CHS_01.2.3.1+同步与互斥的基本概念

CHS_01.2.3.1同步与互斥的基本概念 知识总览什么是进程同步什么是进程互斥知识回顾 在这个小节中 我们会介绍进程同步和进程互斥相关的概念 知识总览 我们会结合一些具体的例子 让大家能够更形象的理解这两个概念 首先来看一下什么是进程同步 其实在聊进程同步之前 咱们已经接…

WPF自定义圆形百分比进度条

先看效果图 1.界面代码 <UserControl x:Class"LensAgingTest.CycleProcessBar1"xmlns"http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x"http://schemas.microsoft.com/winfx/2006/xaml"xmlns:mc"http://schemas.op…

STM32(更新中)

目录 1 时钟&#xff08;心跳&#xff09; 1.1 CubeMX基本配置 1.2 外设在时钟上的分配原理 1.3 时钟树 2 寄存器&#xff08;地址&#xff09; 3 GPIO 3.1 GPIO实物 3.2 GPIO两种结构&#xff08;推挽/开漏&#xff09; 3.3 LED 3.4 CUBEMX 3.5 常用函数 …

机器学习|ROC曲线和AUC值

概念AUC&#xff08;Area Under Curve&#xff09;被定义为ROC曲线下的面积。其中&#xff0c;ROC曲线全称为受试者工作特征曲线 &#xff08;receiver operating characteristic curve&#xff09;&#xff0c; 模型会计算出所判断事物为汉堡&#x1f354;的概率&#xff0c;而…

【游戏客户端开发的进阶路线】

*** 游戏客户端开发的进阶路线 春招的脚步越来越近&#xff0c;我们注意到越来越多的同学们都在积极学习游戏开发&#xff0c;希望能在这个充满活力的行业中大展拳脚。 当我们思考如何成为游戏开发领域的佼佼者时&#xff0c;关键在于如何有效规划学习路径。 &#x1f914; 我…

11.Elasticsearch应用(十一)

Elasticsearch应用&#xff08;十一&#xff09; 1.什么是自动补全 现代的搜索引擎&#xff0c;一般都会提供Suggest as you type的功能 帮助用户在输入搜索的过程中&#xff0c;进行自动补全或者纠错。通过协助用户输入更加精准的关键词&#xff0c;提高后续搜索阶段文档的…

看图说话:Git图谱解读

很多新加入公司的同学在使用Git各类客户端管理代码的过程中对于Git图谱解读不太理解&#xff0c;我们常用的Git客户端是SourceTree&#xff0c;配合P4Merge进行冲突解决基本可以满足日常工作大部分需要。不同的Git客户端工具对图谱展示会有些许差异&#xff0c;以下是SourceTre…

【教程】MobaXterm软件Keygen快速生成注册码

转载请注明出处&#xff1a;小锋学长生活大爆炸[xfxuezhang.cn] 1、去官网安装正版软件&#xff0c;比如23.6版本的&#xff1a;MobaXterm free Xserver and tabbed SSH client for Windows 2、打开这个网站&#xff0c;输入信息&#xff1a;MobaXterm Keygen 3、将自动下载的C…

【原理图PCB专题】Allegro报封装Name is too long

在安装完成Cadence17.4版本后&#xff0c;在首次导入网表时发现PCB报了一些错误&#xff0c;就是名称太长 #1 ERROR(SPMHNI-189): Name is too long… ERROR(SPMHNI-189): Problems with the name of device ‘MT48LC2M32B2B5-6_SDRAMTSOP86_MT48LC2M32B2B5-6’: ‘Name is to…

vue-component组件

一、Component 组件 组件&#xff08;Component&#xff09;是自定义封装的功能。在前端开发过程中&#xff0c;经常出现多个网页的功能是重复的&#xff0c;而且很多不同的页面之间&#xff0c;也存在同样的功能。将相同的功能进行抽取,封装为组件,这样&#xff0c;前端人员就…

JavaWeb,Vue的学习(上)

概述 Vue的两个核心功能 声明式渲染&#xff1a;Vue 基于标准 HTML 拓展了一套模板语法&#xff0c;使得我们可以声明式地描述最终输出的 HTML 和 JavaScript 状态之间的关系。响应性&#xff1a;Vue 会自动跟踪 JavaScript 状态并在其发生变化时响应式地更新 DOM ViteVue3项目…

统计学-R语言-8.2

文章目录 前言双因子方差分析数学模型主效应分析交互效应分析正态性检验 绘制3个品种产量数据合并后的正态Q-Q图&#xff08;数据&#xff1a;example8_2&#xff09;练习 前言 本篇将继续介绍方差分析的知识。 双因子方差分析 考虑两个类别自变量对数值因变量影响的方差分析…

elasticsearch在ubuntu下的配置以及简单使用

参考资料 官方下载地址 ELK学习实验002&#xff1a;Elasticsearch介绍及单机安装 ElasticSearch (ES从入门到精通一篇就够了) 前言 警告&#xff1a;elasticsearch默认不允许使用root账号来运行的&#xff0c;所以&#xff0c;强烈建议一开始就创建一个账号例如&#xff1a;…

HarmonyOS4.0系统性深入开发28线性布局

线性布局&#xff08;Row/Column&#xff09; 概述 线性布局&#xff08;LinearLayout&#xff09;是开发中最常用的布局&#xff0c;通过线性容器Row和Column构建。线性布局是其他布局的基础&#xff0c;其子元素在线性方向上&#xff08;水平方向和垂直方向&#xff09;依次…

大数据安全 | 期末复习(中)

文章目录 &#x1f4da;感知数据安全⭐️&#x1f407;传感器概述&#x1f407;传感器的静态特性&#x1f407;调制方式&#x1f407;换能攻击&#x1f407;现有防护策略 &#x1f4da;AI安全⭐️&#x1f407;智能语音系统——脆弱性&#x1f407;攻击手段&#x1f407;AI的两…

CUDA编程- - GPU线程的理解 thread,block,grid - 再次学习

GPU线程的理解 thread,block,grid 一、从 cpu 多线程角度理解 gpu 多线程1、cpu 多线程并行加速2、gpu多线程并行加速2.1、cpu 线程与 gpu 线程的理解&#xff08;核函数&#xff09;2.1.1 、第一步&#xff1a;编写核函数2.1.2、第二步&#xff1a;调用核函数&#xff08;使用…

使用多时相的遥感影像进行自动分类的开源模型

简介 Prithvi是NASA 和 IBM 创建的一个用于遥感分类的开源基础模型&#xff0c;使用Landsat 和 Sentinel-2 ( HLS ) 数据集进行训练&#xff0c;特别适合处理时间序列的遥感影像。 该模型已经在2023年的8开源和部署到了Hugging Face Hub上&#xff0c;用户可以免费下载和在线…

【Godot4自学手册】第七节背景搭建

各位同学&#xff0c;今天是第七节&#xff0c;在本节我会学习如何使用TileMap来完成背景搭建。 一、添加TileMap结点 先做个介绍&#xff0c;TileMap是基于 2D 图块的地图节点。Tilemap&#xff08;图块地图&#xff09;使用 TileSet&#xff0c;其中包含了图块的列表&#…

移动Web——平面转换-旋转

1、平面转换-旋转 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>Document</title><style…

asp.net宠物流浪救助系统

asp.net宠物流浪救助系统 当领养人是无或者未领养的时候&#xff0c;就会显示领养申请按钮&#xff0c;登陆的用户可以申请领域该宠物&#xff0c;未登录会提示登陆然后转到登陆页面 宠物领养页面支持关键字查询符合条件的宠物 当有领养人时就隐藏领养申请按钮 社区交流意见…