STM32-- GPIO介绍、使用学习

STM32入门教程-2023版【1-2】引脚定义 阅读详情

一硬件

1. GPIO

1.FT,  TT功能

ft:five tolerate

tt:three tolerate

1. FT(Five-Volt Tolerant)引脚

FT 引脚能够容忍高于 VDD 的输入电压(例如 5V)。这些引脚通常不具有连接到 VDD 的保护二极管,因此能够处理比供电电压更高的输入信号,而不会造成电流流入 VDD。它们可能具有特殊的电压钳位电路来保护内部电路。

2. 非 FT 引脚

标准的 GPIO 引脚通常具有保护二极管,这些二极管连接在引脚和 VDD/VSS 之间。对于这些引脚,输入电压如果超过 VDD,保护二极管将导通,导致电流流入 VDD。这类引脚的输入电压不应超过 VDD 加上保护二极管的正向导通电压,否则可能损坏芯片。

3. 模拟引脚

模拟引脚(如 ADC 输入引脚)可能设计有低泄漏电流特性,这些引脚可能没有或只具备有限的保护电路,以保证高精度的模拟信号输入。

没有找到FT是如何实现的电路图,先记住ft引脚可以处理 输入或者输出5v的电压,普通引脚只能处理3.3v,adc引脚使用的时候也要注意。还有就是在电压范围内,电流也要在安全范围内才行。

为了理解为什么ft引脚能够通过开漏输出上拉到5v,普通引脚只能到3.7v,找了好几个小时的资料,还是没想通,因为一直认为ft才有上下钳位保护,普通引脚没有,但是这样的话,普通引脚也能输出5v电压,只要外面上拉电压够就行,不考虑烧毁的风险的话。就一直找电路图,一直也没有找到,慢慢才理解到是都有保护二极管进行钳位,但是ft引脚经过特殊处理,可以钳位到5v以内。

gpio资料:

AN4899 应用笔记 执行硬件设置以及实现低功耗的STM32 GPIO配置

STM32的GPIO工作原理及模式经验分享 STM32的GPIO工作原理及模式经验分享 - STM32团队 ST意法半导体中文论坛

STM32 GPIO理论基础知识之基本结构

STM32 GPIO理论基础知识之基本结构 - STM32团队 ST意法半导体中文论坛

明解STM32—GPIO理论基础知识篇之基本结构 

https://www.cnblogs.com/Sharemaker/p/17107060.html

STM32外设GPIO的配置和应用

STM32外设GPIO的配置和应用_stm32gpio配置-优快云博客

二软件程序

gpio初始化:

void MX_GPIO_Init(void)
{
  GPIO_InitTypeDef GPIO_InitStruct = {0};

  /* GPIO Ports Clock Enable */
  __HAL_RCC_GPIOC_CLK_ENABLE();

  /*Configure GPIO pin Output Level */
  HAL_GPIO_WritePin(GPIOC, U5_Pin|U6_Pin, GPIO_PIN_RESET);

  /*Configure GPIO pins : PCPin PCPin */
  GPIO_InitStruct.Pin = U5_Pin|U6_Pin;
  GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
  GPIO_InitStruct.Pull = GPIO_NOPULL;
  GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
  HAL_GPIO_Init(GPIOC, &GPIO_InitStruct);
}

注意输出引脚初始化顺序,最重要的是HAL_GPIO_WritePin先设置引脚电平状态(高低电平看情况),再init。

可能的副作用

  • 不确定的初始状态:如果在 HAL_GPIO_Init 之前未设置引脚状态,有可能在初始化时引脚会处于不确定状态。尤其是在复位后,引脚的默认状态可能会导致意外行为。

  • 初始化过程中的瞬态状态:在某些情况下,初始化过程中的短暂瞬态状态(如切换模式时的瞬间状态)可能会影响外部电路或设备。例如,某些外设可能会对特定电平敏感,导致不希望的操作。

输入引脚的初始化不需要先write。

【STM32】- GPIO开发经验分享-如何避开初始化的坑

https://blog.youkuaiyun.com/m0_54916619/article/details/129825747

STM32F03C8T6-GPIO输出 带FT表示可以容忍5V电压内核通过APB2对寄存器进行读写来驱动引脚进行输入输出。 阅读详情

相关推荐

STM32引脚定义、最小系统及工作模式

黄色部分为电源引脚,蓝色部分是最小系统引脚,绿色部分是IO功能引脚,优先推荐使用加粗的IO引脚,没有加粗的IO引脚可能需要另外的配置,非默认引脚功能。第一列表示引脚号:1-48第二列表示引脚名称第三列表示类型:s代表电源,I代表输入,O代表输出,IO代表输入输出第4列IO电平,带FT标记的代表它能容忍5V电压,不带FT标记的代表它能容忍3.3V电压第5列主功能:上线后默认功能,一般和引脚名称相同。

tecoes的博客 1万+

stm32 io口电平FT的意思

/清掉这 2 个位原来的设置,同时也不影响其他位的设置 GPIOC->CRH|=0X00038000;//PC11 输入,PC12 输出 GPIOC->ODR=1

qq_42444944的博客 4095

STM32学习笔记——GPIO介绍及配置

仅供个人学习使用 STM32 的每个 IO 端口都有 7 个寄存器来控制。他们分别是:配置模式的 2 个 32 位的端口配置寄存器 CRL 和 CRH;2 个 32 位的数据寄存器 IDR 和 ODR;1 个 32 位的置位/复位寄存器BSRR;一个 16 位的复位寄存器 BRR;1 个 32 位的锁存寄存器 LCKR。 CRH 和 CRL 在固件库开发中,操作寄存器 CRH 和 CRL 来配...

Summertrainxy的博客 3049

stm32 FT管脚GPIO开漏输出接5V, 不是输出5V

stm32 FT管脚GPIO开漏输出接5v

sunarmy的专栏 3767

恒定跨导的奥秘:基于1:3电流镜的轨到轨运放输入级设计与仿真验证

本文深入探讨了基于1:3电流镜的轨到轨运放输入级设计,重点分析了恒定跨导(GM)的实现原理与仿真验证。通过精确的电流补偿机制和工艺参数优化,解决了传统运放在电源轨附近跨导下降的问题,为模拟集成电路设计提供了可靠的低电压解决方案。

weixin_33686714的博客 518

在STM32上运行小波变换及神经网络算法——(一)单片机中小波算法编写

在单片机上实现离散小波变换的C代码,通过确定信号长度、小波分解层数、小波基名称后进行编写,并改写成了方便调用的结构体格式。

weixin_45400202的博客 989

STM32学习笔记(二)GPIO 的输入和 OLED 的简单介绍

STM32 的 GPIO 引脚不仅可以作为输出,还可以作为输入模式与外部设备进行交互。在输入模式下,GPIO 引脚用于接收来自外部的信号,比如按键状态、传感器输出等。浮空输入(Floating Input):引脚不连接任何电阻,处于不确定状态。一般不推荐使用,因为它容易受到外部电磁干扰。上拉输入(Pull-up Input):通过内部上拉电阻将引脚的电平拉高,常用于检测按键状态。下拉输入(Pull-down Input):通过内部下拉电阻将引脚的电平拉低,用于检测状态的切换。

Whisper_Yu的博客 1174

05-SA8155 QNX Display框架及代码分析(1)

显示是非常重要的一个模块,人机交互的桥梁。那么SA8155 Hypervisor显示是如何处理的呢。对处理流程非常的好奇O(∩_∩)O哈哈~。TODO。

静虚待令,有物混成 1万+

STM32学习笔记—GPIO端口的介绍

STM32学习笔记—GPIO端口的介绍 无论学什么单片机,第一个要学的都是输入输出端口(I/O口),那么GPIOx(x为第几个端口)是STM32的输入输出端口,全称为General-Purpose Input Output ports,也就是通用输入/输出口。 什么是GPIO端口 GPIO端口是通用输入输出端口的简称,STM32芯片的GPIO引脚与与外部设备连接起来,从而实现与外部通讯,控制以及数据采集的功能。 GPIO端口功能描述 相较于51单片机的8位IO口,STM32的GPIO为是16位,每个GPIO

weixin_47336494的博客 5495

BGE-M3 文本情感分类实战:预训练模型微调,导出ONNX并测试

本文介绍了如何基于BGE-M3开源模型实现一个简单的二分类情感分析任务,展示了NLP中经典的“预训练 + 微调”范式。首先,加载预训练模型和分词器,并构建分类头整合到模型中。接着,进行数据预处理并构建DataLoader。然后,定义优化器、损失函数和训练循环,进行模型微调。微调过程中,可以选择基于[CLS] token的单特征提取或基于池化策略的多特征融合。最后,通过验证与推理评估模型性能,并导出ONNX模型以适应生产环境。BGE-M3在语义表征任务中表现优异,适合作为文本分类、语义搜索等下游任务的基础模型

大鹏的专栏 1404

一种基于因果干预的少样本学习的故障诊断模型

本文提出CIRNet,一种融合元学习与因果干预的少样本故障诊断框架。针对传统方法易学习伪相关特征的问题,CIRNet通过构建结构因果模型,采用类级和特征级双调整策略消除先验知识干扰。实验在多个轴承/齿轮数据集上验证其有效性,在跨组件任务中准确率最高达93.41%,特征可视化显示更好的类可分性。相比现有方法,CIRNet显著提升了模型泛化能力和可解释性。

hasakie的博客 957

GPIO/GPIO寄存器介绍 -STM32学习笔记(day1)

1STM32F1每组(这里是A~D)通用GPIO口有7个32位寄存器控制,包括 :2 个 32 位端口配置寄存器(CRL和CRH) //设置端口的状态2 个 32 位端口数据寄存器(IDR 和 ODR)//ODR只有低16位有效1 个 32 位端口置位/复位寄存器 (BSRR) //端口置位/复位寄存器(BSRR)ODR和BSRR都是用于控制GPIOx,先BSRR是只写权限,而ODR是可读可写权限。

m0_68034915的博客 472

S/4HANA Private Cloud 与 On-Premise 的 Key User Custom Fields 运输与升级避坑指南

本文探讨了SAP S/4HANA Cloud Private Edition和On-Premise系统中Key User Custom Fields的管理要点。文章指出,Custom Fields涉及元数据生成、对象一致性、传输治理等完整链路,操作不当会导致字段丢失或升级失败。关键建议包括:使用ATO Fiori App管理扩展项与传输绑定,配置正确的job user权限,避免在多系统并行开发同一字段。特别强调升级时需执行CFD_REGENERATE_IN_ONPREMISE报表,并通过标准传输机制推进变更

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 196

STM32驱动LCD1602液晶屏资源介绍:STM32 GPIO控制与数据交互学习利器

STM32驱动LCD1602液晶屏资源介绍:STM32 GPIO控制与数据交互学习利器 去发现同类优质开源项目:https://gitcode.com/ 在嵌入式开发领域,STM32作为一款高性能的微控制器,其GPIO端口的应用非常广泛。而LCD1602液晶屏作为一种常见的显示设备,经常用于显示文本信息。今天,我们将为您介绍一款开源项目——STM32驱动LCD1602液晶屏,帮助您轻松掌握STM3...

gitblog_06776的博客 437

Python 爬虫教程:企业官网基本信息抓取

本文介绍了使用Python爬虫技术抓取企业官网信息的方法,包括公司名称、简介、联系方式、地址、产品及新闻等数据。通过Requests和BeautifulSoup库实现网页请求与解析,并利用Pandas存储数据为CSV文件。同时提供了应对反爬虫机制(如设置User-Agent、代理IP池、延迟请求等)的解决方案,帮助高效获取企业公开数据。

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 1863

华为OD机试 - 不含101的数(Python/JS/C/C++ 双机位C卷 100分)

本专栏收录于《华为OD机试真题(Python/JS/C/C++)》。刷的越多,抽中的概率越大,私信哪吒,备注华为OD,加入华为OD刷题交流群,每一题都有详细的答题思路、详细的代码注释、3个测试用例、为什么这道题采用XX算法、XX算法的适用场景,发现新题目,随时更新。小明在学习二进制时,发现了一类不含101的数,也就是:现在给定一个正整数区间,请问这个区间内包含了多少个不含101的数?输入的唯一一行包含两个正整数。输出的唯一一行包含一个整数,表示在区间内一共有几个不含101的数。8 1668 → “1000”

学Java,找哪吒 1252

STM32 嵌入式学习入门(2)——STM32的GPIO介绍

STM32嵌入式学习入门 GPIO应该是学习单片机、学习嵌入式、学习STM32的第一个知识点了。在介绍GPIO相关的内容前,这里先总得说一下自己对GPIO的理解。对于初学者,可以把GPIO的作用想象成C语言里面的做输入输出的函数(scanf(); printf(); gets(); puts();等等),在C语言里面scanf()和printf()这两个函数是做输入输出的,对于几乎所有的C语言程序,都可以看成是用输入函数读取了一些输入,然后进行程序的逻辑处理,最后通过输出函数把程序最后执行的结果显示出来的过

Felik Zhang的博客 8302

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

STM32学习二 GPIO介绍(寄存器)

推挽,开漏,关闭三种输出模式。推挽模式又称强推输出模式,高低电平都有较强的驱动能力。在该模式下:当数据寄存器为1时,上管导通,下管断开为高电平模式;为0时,上管断开,下管导通,为低电平模式。开漏模式下p-mos无效,所以来高电平时,p-mos无效且n-mos断开。所以只有数据寄存器为0时有低电平。1. 可以作为通信协议的驱动方式,如IIC2. 多机通信时可以避免各个设备之间的互相干扰。3. 输出5v的电平信号。关闭模式下两个moss管都无效,因此高低电平由外部设备来控制。

2201_75620634的博客 936

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

STM32学习记录(1)_GPIO原理介绍

General Purpose Input Output,即通用输入输出端口,简称GPIO。作用:负责采集外部器件的信息或者控制外部器件工作,即输入输出。采集外部器件:VCC为电源,当KEY没按下时,IO口采集到VCC为高电平1。当KEY按下后,VCC直接输出接地,IO口采集为0。控制外部器件:当IO输出为1,直接接地,IO口与GND有电压差,有电流通过,所以LED点亮。当IO输出为0,直接接地,IO口与GND无电压差(都为0),无电流通过,所以LED熄灭。2:

学无止境_hjy的博客 1387

STM32学习笔记 GPIO初始化参数结构体介绍

想要操作STM32相关端口,首先要用到GPIO初始化参数结构体:GPIO_InitTypeDef。下面是这个结构体的内容。包括GPIO_Pin、GPIO_Speed、GPIO_Mode三个参数。

weixin_48162446的博客 4752

STM32学习笔记------GPIO介绍

以上是使用STM32F4xx标准外设库配置和使用GPIO的基本流程。通过理解结构体的各项配置以及常用的 GPIO 操作函数,可以轻松实现STM32F4系列微控制器的GPIO控制。

m0_63903713的博客 1793

stm32学习笔记 F1系列GPIO库函数介绍

void GPIO_Init(GPIO_TypeDef* GPIOx, GPIO_InitTypeDef* GPIO_InitStruct);  作用:初始化一个或者多个IO口(同一组)的工作方式和速度。该函数主要是操作GPIO_CRL(CRH)寄存器,在上拉或者下拉的时候有设置BSRR或者BRR寄存器  GPIOx: GPIOA~GPIOG typedef struct    {

Wu_Yimin的博客 1176

STM32中GPIO介绍,嵌入式学习与c++/Java的不同,Keil中的使用技巧

你的微控制器主动发出信号去控制别人。你的微控制器被动接收信号来感知别人。

cyz322649的博客 1317

STM32Cube HAL库-GPIO输入输出的介绍及应用配套学习代码

STM32Cube HAL库-GPIO输入输出的介绍及应用配套学习代码 去发现同类优质开源项目:https://gitcode.com/ 本仓库包含STM32Cube HAL库中GPIO输入输出功能的介绍及应用实例的配套学习代码。本实例以按键控制LED灯的闪烁为应用场景,深入浅出地讲解了STM32Cube HAL库对GPIO的应用方法。 代码内容涵盖了 GPIO 初始化、按键输入检测和LED输出控...

gitblog_06791的博客 768

STM32外设学习(一)GPIO

GPIO还有一个十分重要的概念,也就是响应速度,相应速度是指,当你的电平需要改变的时候,这个改变的时间需要多少。在没有信号输入的时候,根据电路知识,此时的电平就是VDD的电平,此时读取到的电平就是高电平。如果输入了一个高电平,VDD和O点(最上面的图中的O点)之间就几乎没有电势差,此时O点的电平就仍然是高电平,读取到的电平就是高电平。当输入信号是一个低电平的时候,此时O点的电平的电平就会变成低电平,那么VDD和O点之间形成了电势差,但是因为上拉电阻的存在,所以不会出现一个大电流。,可以更好的适应更多情况。

qq_38954185的博客 885

STM32个人学习笔记-第二集(F4GPIO寄存器介绍)

STM32个人学习笔记-第二集 一,GPIO口寄存器 GPIO有九组IO口,分别用大写字母表示,即,x=A/B/C/D/E/F/G/H/I. IO口可以由软件配置成如下8种模式 1,输入浮空 2,输入上拉 3,输入下拉 4,模拟输入 5,开漏输出 6,推挽输出 7,推挽式复用功能 8,开漏式复用功能 二,IO口常用的8个寄存器 1,MODER寄存器 该寄存器是GPIO端口模式控制寄存器,用于控制I...

王德宁 2435
上一篇: c-- c语言程序工具_doxygen
下一篇: STM32--12864应用
code_snow
博客等级 码龄8年 316粉丝 171原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值