STM32 (4) GPIO(1)

1.芯片的引脚分布

2.普通IO引脚的命名规则

3.IO复用

IO引脚身兼数职的现象叫做IO复用,可以使芯片拥有更多的功能,例如:

PA9和PA10既可以用于GPIO的引脚,也可以用于串口或定时器的引脚

通用:CPU直接控制IO引脚的输入输出(如GPIO)

复用功能:CPU通过片上外设间接控制IO引脚(如串口,定时器)

4. IO重映射

将某个片上外设的复用功能移动到其他IO引脚上

5.最小系统板引脚图

说明:例如想同时使用STM32的串口1和定时器1,但用到的IO口都是PA9和PA10,就可用重映射将串口1的引脚引到PB6和PB7,这样同时使用两个外设时,引脚就不会冲突了。

6.GPIO

6.1 GPIO的寄存器组

6.2 GPIO的8种工作模式

6.2.1 输入和输出

输入:通过IO引脚读取外部输入电平的高或低

输出:通过IO引脚向外输出高电平或低电平

6.2.2 通用和复用 (只针对于输出模式)

见 3.1

6.2.3 推挽和开漏

当给MOS管的G极施加一个合适的电压时,D和S之间就会导通,否则就会断开

    在推挽模式下,向ODR寄存器写0时,P-MOS断开,N-MOS导通,接VSS,会输出低电压;向ODR寄存器写1时,N-MOS断开,P-MOS导通,接Vdd,会输出高电压(3.3V)。

    在开漏模式下,P-MOS始终断开,IO口连接的是N-MOS的漏极,当写0时,N-MOS闭合,接VSS,输出低电压;当写1时,N-MOS断开,引脚悬空,输出高阻抗。

6.2.4 上拉,下拉和浮空(只针对于输入模式)

在输入模式下,引脚的内阻是无穷大。

   当输入高电平时,引脚的电平就是高电平;当输入低电平时,引脚的电平就是低电平。

    但如果外部输入信号断开,则IO引脚就会悬空,相当于一个天线,会不断接收外部的电磁波,接收到的信号会杂乱无章。

   当上拉电阻闭合时,当引脚悬空时,电压全被无穷大电阻分走,则引脚的电平会被上拉电阻上拉到3.3V,会有一个默认的高电平,对应上拉输入。

同理,当下拉电阻闭合时,当引脚悬空时,引脚会有一个默认的低电平,对应下拉输入。

注:两个电阻只能同时闭合一个,当都不闭合时,对应浮空输入。

       单片机复位后,IO引脚会处于浮空输入模式(省电,安全)

6.2.5 模拟输入

当需要使用STM32的ADC功能时,需要将引脚配置为模拟输入模式,用于接收外部的模拟信号。

6.3 8种模式的英文名称

6.4 IO的最大输出速度

最大输出速度:IO允许输出电平的最大切换频率

 STM32的IO引脚的输出速度:

6.5 GPIO的内部结构

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux:用户格式显示进程

简介 在Linux系统中,ps 命令用于查看当前系统中的进程。ps -aux 是该命令的一个常用选项组合,用于以用户格式显示所有进程。 ps -aux 输出的信息内容及含义: USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND r…

【OpenGL编程手册-04】详细解释着色器

着色器 目录 一、说明二、着色器语言GLSL2.1 典型的着色器代码2.2 数据类型2.2.1 向量 2.3 输入与输出2.3.1 顶点着色器2.3.2 片段着色器 2.4 Uniform2.5 函数后缀含义2 .6 更多属性! 三、我们自己的着色器类四、从文件读取五、 编译着色器练习 一、说明 在Hello T…

shopee、美客多、敦煌、国际站卖家如何掌握测评补单的核心要素

对于卖家而言,测评补单是一种经济高效的推广策略,它对于提升商品流量、优化转化率、增强关键词质量分以及加强链接权重都起到了积极的推动作用。然而,要实现自养号测评,需满足以下条件: 首要之务,建立一个稳…

jenkins插件下载失败bug

如果遇到安装jenkins插件经常失败并报以下类似错误,很可能是因为jenkins国外官方插件地址下载速度非常慢,我们可以修改为国内插件地址。 java.io.IOException: Failed to load: SCM API Plugin (scm-api 676.v886669a_199a_a_) - Jenkins (2.361.4) or h…

详细分析Java类调用Service接口失效的注意事项(附Demo)

目录 前言1. 问题所示2. 原理分析3. 解决方法 前言 试错了一小时&#xff0c;发现接口返回null&#xff01;&#xff01; 最后梳理其知识点并总结其原理 1. 问题所示 接口类如下&#xff1a; public interface IInfoService extends BaseService<Info> {错误方式一&a…

【Zookeeper】ZooKeeper的一些重要功能和作用

&#x1f34e;个人博客&#xff1a;个人主页 &#x1f3c6;个人专栏&#xff1a;日常聊聊 ⛳️ 功不唐捐&#xff0c;玉汝于成 目录 前言 正文 结语 我的其他博客 前言 随着分布式系统的普及和应用场景的不断增加&#xff0c;构建可靠、高效的分布式系统变得愈发重要。然…

Vue 3 中如何迁移从 Vue 2 的项目?

引言 Vue.js 是一个流行的前端框架&#xff0c;它以其响应式数据绑定和组件化系统而闻名。随着时间的推移&#xff0c;Vue.js 也在不断发展和改进。Vue 3 是 Vue.js 的一个重大更新&#xff0c;它带来了许多新特性和改进&#xff0c;包括更好的性能、更小的体积、更强大的组合…

C 嵌入式系统设计模式 19:保护调用模式

本书的原著为&#xff1a;《Design Patterns for Embedded Systems in C ——An Embedded Software Engineering Toolkit 》&#xff0c;讲解的是嵌入式系统设计模式&#xff0c;是一本不可多得的好书。 本系列描述我对书中内容的理解。本文章描述嵌入式并发和资源管理模式之五…

Cesium 3D Tiles 简介

3D Tiles 是大规模异构 3D 地理空间数据集&#xff08;例如点云、建筑物和摄影测量&#xff09;的开放标准。3D Tiles 基于 glTF 和其他 3D 数据类型构建&#xff0c;是一种可类似二维瓦片模式的流式传输的优化格式&#xff0c;旨在适应当今不断增长的 3D 地理空间数据集的渲染…

编码规范(前端)

文章目录 1. 文档说明1.1 编制说明1.2 名词解释 2.前端研发规范2.1 HTML编码规范2.1.1 文档类型2.1.2 语言2.1.3 元数据2.1.4 资源加载2.1.5 页面标题2.1.6 编码风格2.1.7 标签2.1.8 属性2.1.9 语义化 2.2 CSS编码规范2.2.1 文件引用2.2.2 命名-组成元素 知识点 1. 文档说明 1…

【数据分享】1979~2020年MSWEP降水数据集

各位同学们好&#xff0c;今天和大伙儿分享的是1979~2020年MSWEP降水数据集。如果大家有下载处理数据等方面的问题&#xff0c;您可以私信或者评论。 Beck, H. E., E. F. Wood, M. Pan, C. K. Fisher, D. G. Miralles, A. I. J. M. van Dijk, T. R. McVicar, and R. F. Adler, …

【软件设计师】通俗易懂的去了解算法的特性和要求

&#x1f413; 算法 算法是对特定问题求解步骤的一种描述&#xff0c;算法是指令的有限序列。其中每一条指令表示一个或者多个操作。 &#x1f413; 算法的5种属性 有穷性 一个算法必须总是在执行有穷的步骤后&#xff0c;且在每个步骤执行的过程中时间是有限的 1.有穷性意味…

深度学习 精选笔记(7)前向传播、反向传播和计算图

学习参考&#xff1a; 动手学深度学习2.0Deep-Learning-with-TensorFlow-bookpytorchlightning ①如有冒犯、请联系侵删。 ②已写完的笔记文章会不定时一直修订修改(删、改、增)&#xff0c;以达到集多方教程的精华于一文的目的。 ③非常推荐上面&#xff08;学习参考&#x…

蓝桥杯:单词分析

题目 题目描述 小蓝给学生们组织了一场考试&#xff0c;卷面总分为 100 分&#xff0c;每个学生的得分都是一个 0 到 100 的整数。 如果得分至少是 60 分&#xff0c;则称为及格。如果得分至少为 85 分&#xff0c;则称为优秀。 请计算及格率和优秀率&#xff0c;用百分数表…

Rstudio-深度学习执行代码

RStudio是一个开源的集成开发环境&#xff08;IDE&#xff09;&#xff0c;专门用于R编程语言的开发和数据分析。R语言是一种流行的统计计算和数据可视化语言&#xff0c;广泛用于数据科学、统计学和机器学习领域。 RStudio提供了许多功能强大的工具&#xff0c;包括代码编辑器…

SQL 基本条件查询DQL 练习

DQL DQL&#xff08;Data Query Language&#xff09;是SQL语言中的一种类型&#xff0c;用于执行数据查询操作。它是SQL的一部分&#xff0c;用于从数据库中检索数据。DQL语句用于从一个或多个表中选择、过滤和排序数据。常见的DQL查询语句包括SELECT、FROM、WHERE、GROUP BY…

U盘无法读取?轻松掌握正确解决方法!

“为什么我的u盘插入电脑后会显示无法读取呢&#xff1f;想查看一些比较重要的文件&#xff0c;但就是无法读取U盘&#xff0c;想问问大家&#xff0c;我应该怎么操作呢&#xff1f;” U盘作为一种便捷的数据存储设备&#xff0c;广泛应用于我们的日常生活和工作中。然而&#…

独立游戏《星尘异变》UE5 C++程序开发日志2——创建并编写一个C++类

在本篇日志中&#xff0c;我们将要用一个C类来实现一个游戏内的物品&#xff0c;同时介绍UCLASS、USTRUCT、UPROPERTY的使用 一、创建一个C类 我们在UE5的"内容侧滑菜单"中&#xff0c;在右侧空白中右键选择"新建C类"&#xff0c;然后可以选择一个想要的…

python70-Python的函数入门,了解下函数

函数是执行特定任务的一段代码,程序通过将一段代码定义成函数,并为该函数指定一个函数名,这样即可在需要的时候多次调用这段代码。因此,函数是代码复用的重要手段。学习函数需要重点掌握定义函数、调用函数的方法。 与函数紧密相关的另一个知识点是lambda表达式。lamda表达…

Spring AOP(Aspect-Oriented Programming,面向切面编程)介绍

Spring AOP&#xff08;Aspect-Oriented Programming&#xff0c;面向切面编程&#xff09;是Spring框架的一个重要模块&#xff0c;它提供了一种强大的方式来帮助开发者实现横切关注点&#xff08;cross-cutting concerns&#xff09;的模块化。横切关注点是指那些影响多个模块…