STM32 (4) GPIO(1)

news2024/9/23 15:26:00

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.coloradmin.cn/o/1488332.html

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

相关文章

了解游戏中的数据同步

目录 数据同步 通过比较来看状态同步和帧同步 状态同步 帧同步 帧同步实现需要的条件 两者相比较 数据同步 在联机游戏中,我的操作和数据要同步给同一局游戏中其他所有玩家,其他玩家的操作和数据也会同步给我。这叫做数据同步,目前数据…

C# Onnx segment-anything 分割万物 一键抠图

目录 介绍 效果 模型信息 sam_vit_b_decoder.onnx sam_vit_b_encoder.onnx 项目 代码 下载 C# Onnx segment-anything 分割万物 一键抠图 介绍 github地址:https://github.com/facebookresearch/segment-anything The repository provides code for runn…

UDP协议和TCP协议详解

文章目录 应用层自定义协议 传输层udp协议TCP协议1.确认应答2.超时重传3.连接管理建立连接, 三次握手断开连接, 四次挥手tcp的状态 4.滑动窗口5.流量控制6.拥塞控制7.延时应答8.携带应答9.面向字节流10.异常情况 应用层 自定义协议 客户端和服务器之间往往要进行交互的是“结构…

115.龙芯2k1000-pmon(14)- pmon编程优化

通过上面的分析,发现,其实gzrom-dtb.bin其实有很多空白区域,而且空白区域填充的都是0,这对flash来说并不友好,能否把填充的位置改为ff呢,这样编程的速度也会加快,对flash来说也是一种保护呢。 …

#QT(DEMO)

1.IDE:QTCreator 2.实验:打印"hello wolrd" 3.记录 (1)创建一个新工程: 新建好一个工程存放文件夹(路径不能有中文),然后按下图配置 (2)点击widgets.ui拖入以…

活动报名|AutoMQ x 阿里云云原生创新论坛(2024.03.09)见证“新一代云原生 Kafka ”重磅发布!

新一年, AutoMQ 首场线下活动重磅来袭!2024年3月9日,由 AutoMQ 与阿里云联合举办的云原生创新论坛将于杭州与大家见面,双方联合重磅发布新一代云原生 Kafka ——AutoMQ On-Prem 版本 !现场将会分享如何通过云原生和存算…

美摄科技实时语音数字人解决方案

随着科技的飞速发展,数字人技术已经逐渐渗透到我们生活的各个角落。作为数字人技术的先驱者,美摄科技凭借其卓越的实时语音数字人解决方案,正引领着企业步入一个全新的交互时代。 美摄科技的实时语音数字人解决方案,是基于语音和…

【JavaEE进阶】 Linux常用命令

文章目录 🍃前言🌴ls 与 pwd🚩ls🚩pwd 🎍cd🚩认识Linux目录结构 🍀touch与cat🚩touch🚩cat 🌲mkdir与rm🚩mkdir🚩rm 🎄cp与…

UCSF DOCK 分子对接详细案例(04)-基于RDKit描述符的分子从头设计DOCK_D3N

欢迎浏览我的CSND博客! Blockbuater_drug …点击进入 文章目录 前言一、 软件及操作环境二、研究目的三、结构文件准备四、 DOCK/RDKit中 de novo design4.1 de novo design - refine_D3N4.2 对输出重新评分 总结参考资料 前言 本文是UCSF DOCK的使用案例分享&…

论文阅读:2017MobileNet V1谷歌轻量化卷积神经网络

拓展:贾扬清:深度学习框架caffe(Convolutional Architecture for Fast Feature Embedding) 主要贡献: 深度可分离卷积(Depthwise separable convolution)逐点卷积(Pointwise convo…

langchain学习笔记(九)

RunnableBranch: Dynamically route logic based on input | 🦜️🔗 Langchain 基于输入的动态路由逻辑,通过上一步的输出选择下一步操作,允许创建非确定性链。路由保证路由间的结构和连贯。 有以下两种方法执行路由 1、通过Ru…

dvwa靶场xss通关

原理 XSS漏洞是攻击者将恶意代码注入到合法网页中,当用户浏览该页面时,恶意代码会被执行,从而获取用户敏感信息或进行其他攻击。 形成原因 网站对用户输入数据的过滤不严格或不完备,攻击者可以根据这个漏洞向网站提交恶意代码&am…

白银投资可以买涨买跌吗?

在金融市场中,投资者总是在寻找机会以实现资产增值。白银作为一种贵金属和投资产品,历来被视作避险工具和保值手段。那么,白银投资能否买涨买跌?白银投资是可以通过伦敦银、白银期货、白银ETFs交易所交易基金等来进行买涨买跌操作…

甘特图资源视图和任务视图的区别

甘特图(Gantt chart)是一种常用的项目管理工具,用于直观地展示项目的进度和各项任务的时间安排。甘特图包含资源视图和任务视图两种视角。 一个项目的甘特图demo : https://zz-plan.com/share/87f1340286f1343ba5 资源视图主要显示项目中不同资源的分配和利用情况…

JAVA内存模型与JVM内存结构

注意区分Java内存模型(Java Memory Model,简称JMM)与Jvm内存结构,前者与多线程相关,后者与JVM内部存储相关。本文会对两者进行简单介绍。 一、JAVA内存模型(JMM) 1. 概念 说来话长,由于在不同硬件厂商和…

Java多线程——如何控制线程顺序执行,如何控制线程同时执行

目录 引出如何控制线程执行顺序?多个线程在某一时刻同时开始执行? Redis冲冲冲——缓存三兄弟:缓存击穿、穿透、雪崩缓存击穿缓存穿透缓存雪崩 总结 引出 Java多线程——如何控制线程顺序执行,如何控制线程同时执行 如何控制线程…

JS正则03——js正则的贪婪匹配模式与非贪婪匹配模式➕正向预测匹配和负向预测匹配的详细使用及例子

JS正则03——js正则的贪婪匹配模式与非贪婪匹配模式➕正向预测匹配和负向预测匹配的详细使用及例子 1. 前言1.1 js正则的基本使用 2. 贪婪匹配模式 与 非贪婪匹配模式2.1 引例2.2 贪婪模式2.3 非贪婪模式2.4 原理——参考 3. 预测匹配方式3.1 正向预测匹配3.2 负向预测匹配3.2.…

试手一下CameraX(APP)

书接上回。 首先还是看谷歌的官方文档: https://developer.android.com/media/camera/camerax?hlzh-cn https://developer.android.com/codelabs/camerax-getting-started?hlzh-cn#1 注:这里大部分内容也来自谷歌文档。 官方文档用的是Kotlin&…

Window下编写的sh文件在Linux/Docker中无法使用

Window下编写的sh文件在Linux/Docker中无法使用 一、sh文件目的1.1 初始状态1.2 目的 二、过程与异常2.1 首先获取标准ubuntu20.04 - 正常2.2 启动ubuntu20.04容器 - 正常2.3 执行windows下写的preInstall文件 - 报错 三、检查和处理3.1 评估异常3.2 处理异常3.3 调整后运行测试…

不知道RAID/SAN/NAS的小可爱来看看这个吧!

RAID RAID(冗余阵列的独立磁盘,Redundant Array of Independent Disks)是一种将多个磁盘驱动器组合成一个或多个单元的技术,目的是在提高数据可靠性和/或提升性能的同时,对操作系统隐藏底层的复杂性。简而言之&#x…