02、GPIO外设(一):基础知识

news2025/5/20 5:14:04

基础知识

  • 1、ZET6的引脚分布
  • 2、引脚输出
  • 3、引脚输入
  • 4、最大输出速度

1、ZET6的引脚分布

在这里插入图片描述

下面使用C8T6的引脚来类比ZET6的引脚,ZET6中的特殊功能引脚和C8T6的特殊功能引脚是一样。而通用IO引脚比C8T6多而已。下面的C8T6的特殊功能引脚的介绍:
STM32F103C8T6一共有48个引脚,他们分别为特殊功能的IO引脚和普通功能的IO引脚,其中特殊功能的IO引脚是用于给芯片提供固定的功能,不用提供给用户配置使用,特殊功能的IO引脚如下图所示:

在这里插入图片描述
如图所示:特殊功能引脚:芯片供电引脚(需要8个引脚),接入外部晶振(需要2个引脚),芯片复位(需要1个引脚),备份区域供电(需要1个引脚),启动BOOT0选择(需要1个引脚)。
则特殊功能引脚IO = 8 + 2 + 1 + 1 +1 = 13个引脚。48个引脚除去13个引脚,则还有35个IO引脚是提供给用户使用的。如下图所示:

在这里插入图片描述

想了解ZET6的完整的通用IO引脚,则可参考STM32F103xCDE数据手册

一个单片机提供了若此多的普通引脚,那么单片机是如何对这些普通功能引脚进行管理的喃?
答案:通过片上外设GPIO进行管理,单片机将这些普通引脚按照ABC…进行分组划分,被分到组A的引脚就属于GPIOA管理,被分到组B的引脚就属于GPIOB管理。如上图所示:F103C8T6的普通引脚被分为了PA0 ~ PA15(一共16个IO),PB0 ~ PB15(一共16个IO),PC13 ~ PC15(一共3个IO)。

则综上可得:GPIOA管理16个IO引脚,GPIOB管理16个IO引脚,GPIOC管理3个引脚。如下图所示:

在这里插入图片描述
如图:GPIO中的每一个盒子负责管理一个IO引脚,每一个盒子就是寄存器的某一位或者多个位的组合。如下图所示:
在这里插入图片描述

2、引脚输出

引脚的输出分为如下:

😀由谁控制输出:通用功能,复用功能,和重映射功能。
😀输出电平方式:推挽输出,开漏输出。

①由谁控制输出:
若GPIO由CPU控制输出,则为通用功能;若GPIO由片上外设控制输出,则为复用功能。如下图所示:

在这里插入图片描述
重映射功能就是一个IO引脚由多个片上外设控制,当同一时间这些片上外设需要使用这根IO引脚时,就需要使用到重映射功能。如下图示:
在这里插入图片描述
在这里插入图片描述
如上图:当需要同时使用到外设USART1_TX和TIM1_CH2时,则就需要重映射,将USART1_TX重映射到PB6引脚。

②输出电平方式:
(1)推挽输出:输出高电平由P-MOS决定,输出低电平由N-MOS决定
在这里插入图片描述

😀当需要引脚输出高电平时:P-MOS导通,N-MOS断开,VDD连接到引脚,引脚输出高电平
😀当需要引脚输出低电平时:P-MOS断开,N-MOS导通,VSS连接到引脚,引脚输出低电平

(2)开漏输出:P-MOS一直是断开状态,输出高电平没有驱动能力,输出低电平由N-MOS决定
在这里插入图片描述

😀当需要引脚输出高电平时:P-MOS一直断开,N-MOS断开,没有驱动能力,引脚是高阻态
😀当需要引脚输出低电平时:P-MOS一直断开,N-MOS导通,VSS连接到引脚,引脚输出低电平

3、引脚输入

引脚的输出分为如下:上拉输入,下拉输入,浮空输入,模拟输入4种模式。
在这里插入图片描述

😀上拉输入:上面的开关闭合,下面的开关断开,引脚在没有电平输入的情况下面,引脚默认电平为高电平状态
😀下拉输入:上面的开关断开,下面的开关闭合,引脚在没有电平输入的情况下面,引脚默认电平为低电平状态。
😀浮空输入:上面的开关断开,下面的开关断开,引脚在没有电平输入的情况下面,引脚默认电平为不定状态,会受到电磁波干扰。
😀模拟输入:为ADC采样服务的特定输入

4、最大输出速度

最大输出速度:即IO引脚输出高电平和输出低电平最快的切换的最快频率
由于硬件性能有限,让IO引脚输出高电平,则IO引脚并不会立即输出高电平,会有一个缓冲时间(下图是上升时间/下降时间),而输出低电平也是同理。
在这里插入图片描述
提供了3个最大输出速度:2MHz,10MHz,50MHz
当IO引脚的最大输出速度为2MHz时:理想情况下一个电平切换时间t = (1s/2MHz)/2 =250ns ,但是实际情况如下图所示:电平切换实际t = 500ns
在这里插入图片描述
当IO引脚的最大输出速度为10MHz时:理想情况下一个电平切换时间t = (1s/10MHz)/2 =50ns,但是实际情况如下图所示:电平切换实际t = 100ns
在这里插入图片描述
当IO引脚的最大输出速度为50MHz时:理想情况下一个电平切换时间t = (1s/10MHz)/2 =10ns,但是实际情况如下图所示:电平切换实际t = 20ns
在这里插入图片描述

综上: 输出的频率最大,上升时间和下降时间越小,输出速度就越快,功耗就越大。

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

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

相关文章

智能Todo协作系统开发日志(二):架构优化与安全增强

📅 2025年4月14日 | 作者:Aphelios380 🌟 今日优化目标 在原Todo单机版基础上进行三大核心升级: 组件化架构改造 - 提升代码可维护性 本地数据加密存储 - 增强隐私安全性 无障碍访问支持 - 践行W3C标准 一、组件化架构改造 …

【C++初阶】第14课—缝合怪deque和优先队列、仿函数

文章目录 1. 双端队列deque1.1 认识deque1.2 deque的迭代器1.3 deque的常用接口1.4 deque的优缺点 2. 优先队列priority_queue2.1 认识priority_queue2.2 模拟实现优先队列priority_queue 3. 仿函数 在学习deque之前,回顾一下vector和list各自的优缺点 数据结构优点…

方德桌面操作系统V5.0-G23安装Docker并配置DockerHub镜像加速器

为什么要使用debina的docker源,因为查询os-release和uname 显示是基于debina 11的操作系统 rootyuhua-virtualmachine:~# cat /etc/os-release NAME"方德桌面操作系统" NAME_EN"NFSDesktop" VERSION"5.0" VERSION_ID"5.0"…

紫光同创FPGA实现HSSTLP光口视频点对点传输,基于Aurora 8b/10b编解码架构,提供6套PDS工程源码和技术支持

目录 1、前言工程概述免责声明 2、相关方案推荐我已有的所有工程源码总目录----方便你快速找到自己喜欢的项目紫光同创FPGA相关方案推荐我这里已有的 GT 高速接口解决方案Xilinx系列FPGA实现GTP光口视频传输方案推荐Xilinx系列FPGA实现GTX光口视频传输方案推荐Xilinx系列FPGA实…

数字孪生城市技术应用典型实践案例汇编(22个典型案例)(附下载)

近年来,数字孪生技术在我国从战略框架逐步向系统性落地推进,成为推动数字中国建设的重要技术引擎。随着《数字中国建设整体布局规划》《"十四五"数字经济发展规划》《深化智慧城市发展推进城市全域数字化转型的指导意见》等政策的实施&#xf…

Hyperf (Swoole)的多进程 + 单线程协程、Gin (Go)Go的单进程 + 多 goroutine 解说

1. 核心概念解析 (1) Hyperf (Swoole): 多进程 单线程协程 Swoole 并发模型详解 Swoole 的并发模型基于多进程架构,每个进程是单线程的,线程内运行多个协程。以下是其结构的关键点: 多进程:Swoole 应用程序启动时,…

Intel(R) Wi-Fi 6 AX201 160MHz

本文来源 : 腾讯元宝 ​​Intel(R) Wi-Fi 6 AX201 160MHz​​ 是一款支持最新 Wi-Fi 6(802.11ax)标准的无线网卡,专为现代笔记本电脑和台式机设计。以下是其主要特点和规格: ​​主要特性:​​ ​​Wi-Fi …

Java 工厂设计模式详解:用统一入口打造灵活可扩展的登录系统----掌握 Spring 源码的基础第一步

一、前言 在实际开发中,我们经常面临以下场景: 系统支持多种登录方式(用户名密码、管理员登录、OAuth 登录、短信登录等) 每种登录方式的认证逻辑不同 我们希望对外提供一个统一的接口调用,而不暴露具体实现 这个…

Spring Boot管理Spring MVC

Spring Boot真正的核心功能是自动配置和快速整合,通常Spring Boot应用的前端MVC框架依然使用Spring MVC。Spring Boot提供的spring-boot-starter-web启动器嵌入了Spring MVC的依赖,并为Spring MVC提供了大量自动配置,可以适用于大多数Web开发…

Windows单机模拟MySQL主从复制

这里写自定义目录标题 下载MySQL ZIP压缩包安装主库1、创建配置文件2、安装服务3、初始化数据库4、启动服务5、配置主库 安装从库1、配置ini文件2、安装服务3、初始化数据库4、启动服务5、配置从库6、验证从库状态 操作主库验证 下载MySQL ZIP压缩包 https://dev.mysql.com/do…

Wifi密码查看软件V1.0

⭐本软件用于查看电脑连接过所有WiFi密码,不具备破解功能。 可在忘记WiFi密码或他人输入密码自己不知道的情况下使用。 ⭐⭐为便于快速分享,加入双击【密码】列可将WIFI密码复制在粘贴板。 ⭐⭐⭐双击【名称】列可生成用于手机连接的二维码进行显示&…

分布式日志治理:Log4j2自定义Appender写日志到RocketMQ

🧑 博主简介:CSDN博客专家,历代文学网(PC端可以访问:https://literature.sinhy.com/#/?__c1000,移动端可微信小程序搜索“历代文学”)总架构师,15年工作经验,精通Java编…

【口腔粘膜鳞状细胞癌】文献阅读3

文献 Single-cell transcriptomic analysis uncovers the origin and intratumoral heterogeneity of parotid pleomorphic adenoma 单细胞转录组学分析揭示了腮腺多形性腺瘤的起源和瘤内异质性 IF:10.8中科院分区:1区 医学WOS分区:Q1 摘要 多形性腺瘤 (PA&#…

RL中的rollout和episode的区别请问是啥

很好的问题兄弟,rollout 和 episode 在强化学习(RL)里经常一起出现,虽然有重叠,但含义和使用语境还是有区别的: ✅ 一句话总结: Episode 是一个完整的任务过程(从起点到终点&#xf…

个人博客系统后端 - 用户信息管理功能实现指南(上)

本文记录了如何实现用获取户信息,用户信息更新,用户头像上传三大基础功能 先上接口实现截图: 一、项目结构概览 先介绍一下 个人博客系统采用了标准的 Spring Boot 项目结构,用户功能相关的文件主要分布在以下几个目录&#xff1a…

具身智能机器人学习路线全解析

一、引言 具身智能机器人作为融合了机器人学、人工智能、认知科学等多领域知识的前沿技术,正逐渐改变着我们的生活和工作方式。从工业制造到家庭服务,从医疗护理到太空探索,具身智能机器人都展现出了巨大的潜力。对于想要深入了解和学习这一…

写项目时一些疑惑:组件间的通信、createDownloadUrl和DownloadUrl,ArrayBuffer与Blob等

目录 一、[vite] Internal server error: No known conditions for "./lib/locale/lang/zh-cn" specifier in "element-plus" package 二、可以用vue和JS的代码片段,但是用不了html的代码片段 三、meta是什么东西 四、为什么代码保持一致,但是时间轴始…

手动关闭ArcGIS与ArcGIS Online连接的方法

【关闭软件启动时ArcGIS与ArcGIS Online连接方法】 打开C盘找到文件夹“C:\Program Files (x86)\Common Files\ArcGIS\bin”,如下图,删除“ArcGISConnection.exe”与“ArcGISConnectionTest.exe”文件,软件下次启动的时候就不会建立与ArcGIS …

大M法处理非线性约束线性化

在电力系统优化问题中,大M法(Big M Method)是一种经典的处理非线性约束线性化的技术,尤其适用于混合整数线性规划(MILP)问题。 其核心思想是通过引入足够大的常数M和辅助变量(如二元变量或松弛…

【网络安全】谁入侵了我的调制解调器?(一)

文章目录 我被黑了159.65.76.209,你是谁?黑客攻击黑客?交出证据三年后我被黑了 两年前,在我家里使用家庭网络远程办公时,遇到了一件非常诡异的事情。当时,我正在利用一个“盲 XXE 漏洞”,这个漏洞需要借助一个外部 HTTP 服务器来“走私”文件。为了实现这一点,我在 AW…