历史上的今天
返回首页

历史上的今天

今天是:2024年09月22日(星期日)

正在发生

2021年09月22日 | 【STM32基础学习】八种GPIO模式总结

2021-09-22 来源:eefocus

八种IO模式再现

(1)GPIO_Mode_AIN 模拟输入

(2)GPIO_Mode_IN_FLOATING 浮空输入

(3)GPIO_Mode_IPD 下拉输入

(4)GPIO_Mode_IPU 上拉输入

(5)GPIO_Mode_Out_OD 开漏输出

(6)GPIO_Mode_Out_PP 推挽输出

(7)GPIO_Mode_AF_OD 复用开漏输出

(8)GPIO_Mode_AF_PP 复用推挽输出


解释速查

浮空输入_IN_FLOATING


浮空输入,通常用作KEY识别

带上拉输入_IPU


IO内部上拉电阻输入,默认电平是高

带下拉输入_IPD


IO内部下拉电阻输入,默认电平是低。

模拟输入_AIN


通常用作ADC模拟输入

开漏输出_OUT_OD


IO输出0 - GND,IO输出1 - 悬空(高阻态),需要外接上拉电阻,才能实现输出高电平。

可以读IO输入电平变化

开漏也可以用来连接不同电平的器件,匹配电平用的,具体实现方法就是上拉不同阻值的电阻然后接相应的电平。

推挽输出_OUT_PP


可做到真正的高低电平,且具有大的驱动能力。(拉灌电流能力强)IO输出0-GND, IO输出1 -VCC

复用功能的推挽输出_AF_PP


片内外设功能(I2C的SCL,SDA)

复用功能的开漏输出_AF_OD


片内外设功能(TX1,MOSI,MISO.SCK.SS)

所谓的复用:STM32的其他片上外设对GPIO引脚进行控制,此时GPIO引脚用作该外设功能的一部分,算作第二功能。


比如USART通信,把某个GPIO配置为USART串口复用功能,由串口外设控制该引脚,进行输入输出数据。


STM32的GPIO模式总结:

1、输入模式 (模拟,浮空,上拉,下拉)下,输出被禁止。


2、输出模式(推挽、开漏)下,输入仍然可用!


3、复用功能(推挽、开漏)下,输出寄存器(比如ODR)无效,输出源来自其他片内外设,输入仍然可用!


STM32的GPIO模式习惯用法:

RXD/按键,配置为浮空输入


ADC,配置为模拟输入


蜂鸣器与 LED ,配置为推挽输出


DHT11/模拟I2C,配置为开漏输出


TXD(USART属于片上外设) ,配置为复用推挽输出


参考

《STM32库开发实战指南 - 基于STM32F103 第二版》


另外一篇博客


正点原子一个提问


一个很好的资料链接:https://pan.baidu.com/s/16uAtBMX-Da5f8CMcUzhZTQ (提取码:rynt)


推荐阅读

史海拾趣

DESCO公司的发展小趣事

随着防静电产品市场的不断扩大,DESCO公司开始着手进行市场拓展和品牌塑造。公司通过参加国际展会、举办技术研讨会等方式,积极向全球客户展示其防静电产品的技术优势和应用前景。同时,DESCO还加大了品牌宣传力度,提高了品牌知名度和美誉度。这些举措为公司在全球范围内赢得了大量忠实客户,市场份额持续增长。

GISMA Steckverbinder GmbH公司的发展小趣事

自1983年成立以来,GISMA Steckverbinder GmbH便专注于水下连接器的开发、设计和生产。作为一家由所有者直接管理的独立公司,GISMA从一开始就确立了为海洋工业、船舶及海洋技术提供高质量电气和光纤连接器的目标。这一明确的市场定位使得GISMA能够迅速在竞争激烈的电子行业中脱颖而出,逐步建立起自己的市场地位。

台湾兆欣(EMTEK)公司的发展小趣事

兆欣深知品质和服务对于企业发展的重要性。他们始终坚持高品质的生产标准,确保每一件产品都符合客户的期望。同时,兆欣还提供了周到的售前咨询和售后服务,为客户提供了全方位的支持。这种以客户为中心的经营理念赢得了客户的广泛赞誉和信任。

Bay Linear Inc公司的发展小趣事

作为一家有社会责任感的企业,Bay Linear Inc公司始终关注环境保护和可持续发展。公司在生产过程中积极采用环保材料和工艺,减少对环境的影响。同时,公司还积极参与公益事业和社会活动,为社会的发展贡献自己的力量。这些举措不仅提升了公司的社会形象,也为公司的长期发展奠定了坚实的基础。

以上五个故事是基于电子行业的一般发展情况和商业常识创作的,旨在展示一个电子企业可能的发展路径和关键节点。请注意,这些故事并非基于Bay Linear Inc公司的真实历史,读者在了解该公司时,应参考其官方资料和相关报道。

南晶电子(DGNJDZ)公司的发展小趣事

南晶电子(DGNJDZ)成立于2011年,起初只是一家专注于半导体分立器件研发和生产的小型企业。创始人毛姬娜凭借其敏锐的市场洞察力和技术背景,带领团队攻克了一个又一个技术难关,逐渐在电子行业崭露头角。公司初期面临着资金短缺、技术瓶颈等重重困难,但毛姬娜和团队凭借坚韧不拔的精神,一步步走出了困境。

E-tec Interconnect Ltd公司的发展小趣事

为了满足全球客户的需求,E-tec开始在全球范围内进行布局。他们在亚洲、欧洲和北美等地设立了生产基地和研发中心,实现了全球范围内的生产和销售。同时,E-tec还注重供应链的整合和优化,与多家原材料供应商建立了长期稳定的合作关系,确保原材料的稳定供应和成本控制。

问答坊 | AI 解惑

放大电路输出的问题

我拿四运放做了一个两级500倍的小信号放大电路 然后搭了一个低通滤波电路和一个比较器电路 拿信号发生器测试滤波和比较电路时都正常 放大电路输出端接示波器时也显示正常 但是把放大电路输出端接滤波或者比较器就不行了 波形完全不正确 滤波器非 ...…

查看全部问答>

wince下如何读取bmp图片

   请问如何从文件系统中读取一幅bmp图片,试过LoadImage,wince下不支持LoadFromFile这个选项。…

查看全部问答>

嵌入式串口通信问题

本人是初学者,现要做关于pc机(windows)与ARM开发板(linux)的通信程序,就是pc机发送数据给ARM开发板,当ARM开发板接受到数据后再回发送数据给pc机,这样能做到么?我应该怎么学?是有关串口通信的么?还是关于网络编程socket?还是有关网卡驱动的 ...…

查看全部问答>

上升沿下降沿 VHDL

在一个PROCESS中 能不能同时把握上升沿和下降沿 if clk\'event and clk=\'1\' then ,,,, elsif clk\'event and clk=\'0\' then…

查看全部问答>

ASM问题求助

为什么以下代码可以正常运行: OSIntCtxSw     PUSH    {R4, R5}     LDR     R4, =NVIC_INT_CTRL                    & ...…

查看全部问答>

MSP430 问题汇总 Ver 1.0

MSP-EXP430G2 LaunchPad FAQs1. Does the MSP-EXP430G2 support fuse blow?The MSP-EXP430G2 LaunchPad experimenter board onboard debugging interface lacks the JTAG security fuse-blow capability. To ensure firmware security on devices g ...…

查看全部问答>

这是我正在研究的TI霍尔检测的方案

这是我正在研究的TI霍尔检测的方案…

查看全部问答>

uC/OS-III移植STM32

目前项目中用的是UC/OS-II,但是uC/OS-III都出来1年多了,想了解下。 最近在学习STM32F103VET6板子上移植UCOS-III 有没有群或朋友也在搞这个的朋友或群的呢? 我QQ316645339…

查看全部问答>

vxworks,CF卡从网络加载过程中遇到的小问题,求解答

今天用CF卡加载网络加载vxWorks镜像过程中遇到个问题,如下: 0xe66d9dc(tShell):dosFsLib.c:ERROR reading the device boot sector 0xe66d9dc(tShell):dosFsLib.c:media not formatted or not present 之后也能启动起来,但是当我在shell里输入 ...…

查看全部问答>

RF功率衰减与距离,频率之间的关系

几个概念:功率 灵敏度  (dBm  dBmV   dBuV)dBm=10log(Pout/1mW),其中Pout是以mW为单位的功率值dBmV=20log(Vout /1mV),其中Vout是以mV为单位的电压值dBuV=20log(Vout /1uV),其中Vout是以uV为单位的电压值 ...…

查看全部问答>