GPIO外设
一、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时,下方二极管导通;
- 在引脚处有两个保护二极管,防止引脚外部过高或过低的电压输入。尽管有这样的保护,并不意味着STM32的引脚能直接外界大功率驱动器件,强制驱动要么电机不转,要么导致芯片烧毁,必须要加大功率及隔离电路驱动。
-
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灯
相关文章:
GPIO外设
一、GPIO简介 GPIO,general-purpos IO port,通用输入输出引脚,所有的GPIO引脚都有基本的输入输出功能。 最基本的输出功能:STM32控制引脚输出高、低电平,实现开关控制;最基本的输入功能:检测外部输入电平&…...
C++——priority_queue模拟实现
目录 前言 一、优先级队列介绍 二、优先级队列实现 向上调整 向下调整 三、仿函数 总结 前言 上一篇文章我们讲了stack和queue,这两个容器是容器适配器,本质上是一种复用,那本篇文章要讲的优先级队列也是一个容器适配器,我们…...
计算机网络基础:DOS命令、批处理脚本常见命令
目录 1. DOS 基础命令 1. echo 、 > 编写文件 2. type 读取文件 3. copy con 整段编写 4. attrib 命令 5. 快速生成空文件 6. 修改关联性 7. 关机shutdown 8. 复制文件copy、移动文件move 9. 重命名ren 2. 批处理 2.1 简单显示 2.2 死循环 2.3 定时关机小程序 …...
ArcGIS Pro热力图制作指南:从基础到进阶
引言 在地理信息科学领域,热力图作为一种直观的数据可视化手段,广泛应用于展示空间数据的密度和热度分布。ArcGIS Pro,作为一款强大的地理信息系统(GIS)软件,为我们提供了制作热力图的便捷工具。本文将从基…...
智慧校园系统在学生学习与生活中的应用
随着科技的快速发展,智慧校园系统逐渐成为现代教育不可或缺的一部分。它整合了先进的信息技术、物联网技术以及人工智能等,旨在构建一个全面、智能、个性化的学习与生活环境。对于学生而言,这一系统不仅能够极大地提高学习效率,还…...
深入解析与操作:基于C++的PE文件处理技术揭秘
一、PE文件的核心结构与解析原理 PE(Portable Executable)文件是Windows操作系统下可执行文件的标准格式,其设计目标是支持跨平台的可执行代码和动态链接。要解析或操作PE文件,需深入理解其二进制结构和运行时加载机制。 1. PE文…...
第三十四周学习周报
目录 摘要Abstract1 文献阅读1.1 相关知识1.1.1 贝叶斯优化1.1.2 注意力机制复习 1.2 模型框架1.3 实验分析 总结 摘要 在本周阅读的文献中,作者提出了一种将注意力机制与LSTM相结合的模型AT-LSTM。虽然传统LSTM通过其门控机制能有效捕捉时间序列中的长期依赖关系&…...
22.回溯算法4
递增子序列 这里不能排序,因为数组的顺序是对结果有影响的,所以只能通过used数组来去重 class Solution { public:vector<int> path;vector<vector<int>> res;void backtracking(vector<int>& nums,int start){if(path.si…...
第4章 信息系统架构(三)
4.3 应用架构 应用架构的主要内容是规划出目标应用分层分域架构,根据业务架构规划目标应用域、应用组和目标应用组件,形成目标应用架构逻辑视图和系统视图。从功能视角出发,阐述应用组件各自及应用架构整体上,如何实现组织的高阶…...
一周学会Flask3 Python Web开发-flask3模块化blueprint配置
锋哥原创的Flask3 Python Web开发 Flask3视频教程: 2025版 Flask3 Python web开发 视频教程(无废话版) 玩命更新中~_哔哩哔哩_bilibili 我们在项目开发的时候,多多少少会划分几个或者几十个业务模块,如果把这些模块的视图方法都写在app.py…...
Android开发-深入解析Android中的AIDL及其应用场景
深入解析 Android 中的 AIDL 及其应用场景 1. 前言2. AIDL 的核心概念3. AIDL 的实现步骤3.1. 定义 AIDL 接口文件3.2. 实现服务端(Service)3.3. 客户端绑定与调用 4. AIDL 的典型应用场景4.1. 多进程应用4.2. 与系统服务交互4.3. 高性能 IPC4.4. 跨应用…...
基于python的旅客游记和轨迹分析可视化系统设计(新)
项目地址:基于python旅客游记和轨迹分析可视化系统设计(新) 摘 要 旅客游记和轨迹分析可视化系统是一种能自动从网络上收集信息的工具,可根据用户的需求定向采集特定数据信息的工具,本项目通过研究爬取微博网来实现旅…...
HackTheBox靶场之Unrested 漏洞CVE-2024-42327 《CUser 类中的 user.get 函数中的 SQL 注入》
目录 信息收集 web指纹收集 wappazer Nmap指纹收集 Nmap分析总结 漏洞利用 漏洞CVE-POC执行流程 信息收集 web指纹收集 wappazer 看着有apache2.4.52 那么可以试着找一下 apache的历史cve看可以利用否 使用用户名密码:matthew / 96qzn0h2e1k3 登录成后后…...
uniprot系列相关数据库介绍
https://www.uniprot.org/uniprotkb/P49711/entry#family_and_domains 上面是一个CTCF human蛋白质条目, 我们来看看family & domain条目中涉及到的蛋白质家族以及结构域数据库: 1,funfam: CATH: Protein Structure Classi…...
Docker部署中SQLite数据库同步问题解析
Docker部署中SQLite数据库同步问题解析 在使用 Docker 部署应用程序时,如何处理 SQLite 数据库的同步问题主要取决于你的应用场景和需求。SQLite 是一个嵌入式数据库,通常用于不需要复杂数据库管理功能的应用中。以下是一些考虑因素和可能的解决方案&am…...
STM32单片机芯片与内部97 FSMC 8080 读写 LCD 标准库 HAL库
目录 一、标准库配置 1、FSMC_NORSRAMInitTypeDef 2、FSMC_NORSRAMTimingInitTypeDef 3、GPIO 4、写命令 5、写数据 6、读数据 7、屏幕显示像素点 8、ILI934 二、用户侧 一、标准库配置 1、FSMC_NORSRAMInitTypeDef FSMC_NORSRAMInitTypeDef在stm32f10x_fsmc.h中&am…...
基于AIGC的图表自动化生成工具「图表狐」深度评测:如何用自然语言30秒搞定专业级数据可视化?
一、工具核心定位:自然语言驱动的数据可视化 作为数据科学从业者,我们常面临非技术同事的图表制作需求。传统流程需经历数据清洗→结构转换→图表配置→样式调整四大阶段,耗时且易出错。 图表狐(官网预览👇ÿ…...
rpc到自己java实现rpc调用再到rpc框架设计
目录 rpc(Remote Procedure Call)rpc一般架构为什么要引入rpc自己实现rpc调用1. 新建一个maven项目,加入hessian依赖2. 服务端3. Stub代理4. 客户端测试输出5. rpc程序分析附 请求参数和序列化程序 6. 总结 回顾RPCRPC 序列化协议RPC 网络协议注册中心的引入dubbo框…...
Milvus向量数据库可视化客户端Attu
概述 关于Milvus的介绍,可搜索网络资料。Milvus的使用还在摸索中;打算写一篇,时间待定。 关于Attu的资料: 官网GitHub文档 对于Milvus的数据可视化,有如下两个备选项: Milvus_cli:命令行工…...
CSS `transform` 属性详解:打造视觉效果与动画的利器
CSS transform 属性详解:打造视觉效果与动画的利器 引言一、transform 属性简介二、平移(Translation)三、旋转(Rotation)四、缩放(Scale)五、倾斜(Skew)六、组合变换&am…...
【落羽的落羽 数据结构篇】顺序结构的二叉树——堆
文章目录 一、堆1. 概念与分类2. 结构与性质3. 入堆4. 出堆 二、堆排序三、堆排序的应用——TOP-K问题 一、堆 1. 概念与分类 上一期我们提到,二叉树的实现既可以用顺序结构,也可以用链式结构。本篇我们来学习顺序结构的二叉树,起个新名字—…...
基于STM32的智能农业大棚环境控制系统
1. 引言 传统农业大棚环境调控依赖人工经验,存在控制精度低、能耗高等问题。本文设计了一款基于STM32的智能农业大棚环境控制系统,通过多参数环境监测、作物生长模型与精准执行控制,实现大棚环境的智能优化,提高作物产量与品质。…...
Git常见命令--助力开发
git常见命令: 创建初始化仓库: git 将文件提交到暂存区 git add 文件名 将文件提交到工作区 git commit -m "注释(例如这是发行的版本1)" 文件名 查看状态 如果暂存区没有文件被提交显示: $ git status On…...
一:将windows上的Python项目部署到Linux上,并使用公网IP访问
windows中python的版本:python3.13.1,项目使用的是虚拟环境解释器 linux系统:仅有python3.6.7 服务器:阿里云服务器有公网IP,访问端口XXXX 在linux上安装python3.13.1 linux中如果是超级管理员root,执行所…...
1_2 流浪地球(python)
1.题目 分值:100 题目描述 流浪地球计划在赤道上均匀部署了N个转向发动机,按位置顺序编号为0~N-1。 初始状态下所有的发动机都是未启动状态。 发动机启动的方式分为“手动启动”和“关联启动”两种方式如果在时刻1一个发动机被启动,下一个时…...
【数据标准】数据标准化是数据治理的基础
导读:数据标准化是数据治理的基石,它通过统一数据格式、编码、命名与语义等,全方位提升数据质量,确保准确性、完整性与一致性,从源头上杜绝错误与冲突。这不仅打破部门及系统间的数据壁垒,极大促进数据共享…...
计算机视觉:经典数据格式(VOC、YOLO、COCO)解析与转换(附代码)
第一章:计算机视觉中图像的基础认知 第二章:计算机视觉:卷积神经网络(CNN)基本概念(一) 第三章:计算机视觉:卷积神经网络(CNN)基本概念(二) 第四章:搭建一个经典的LeNet5神经网络(附代码) 第五章࿱…...
七星棋牌顶级运营产品全开源修复版源码教程:6端支持,200+子游戏玩法,完整搭建指南(含代码解析)
棋牌游戏一直是移动端游戏市场中极具竞争力和受欢迎的品类,而七星棋牌源码修复版无疑是当前行业内不可多得的高质量棋牌项目之一。该项目支持 6大省区版本(湖南、湖北、山西、江苏、贵州),拥有 200多种子游戏玩法,同时…...
编程考古-忘掉它,Delphi 8 for the Microsoft .NET Framework
忘掉它吧,作一篇记录! 【圣何塞,加利福尼亚 – 2003年11月3日】在今日的Borland开发者大会上,Borland正式推出了Delphi 8 for Microsoft .NET Framework。这款新版本旨在为Delphi开发者提供一个无缝迁移路径,将现有的…...
宠物智能可穿戴产品调研报告
一、引言 随着人们生活水平的提高以及情感陪伴需求的增长,宠物在家庭中的地位愈发重要,宠物经济蓬勃发展。宠物智能可穿戴产品作为宠物市场与科技融合的新兴领域,正逐渐走进大众视野,为宠物饲养与管理带来新的变革。本调研旨在深…...
