历史上的今天
返回首页

历史上的今天

今天是:2024年08月24日(星期六)

2019年08月24日 | STM32端口配置

2019-08-24 来源:eefocus

1、上拉输入:上拉就是把电位拉高,比如拉到Vcc。上拉就是将不确定的信号通过一个电阻嵌位在高电平!电阻同时起限流作用!强弱只是上拉电阻的阻值不同,没有什么严格区分。


2、下拉输入:就是把电压拉低,拉到GND。与上拉原理相似。


3、浮空输入:浮空(floating)就是逻辑器件的输入引脚即不接高电平,也不接低电平。由于逻辑器件的内部结构,当它输入引脚悬空时,相当于该引脚接了高电平。一般实际运用时,引脚不建议悬空,易受干扰。 通俗讲就是让管脚什么都不接,浮空着。


4、模拟输入:模拟输入是指传统方式的输入。数字输入是输入PCM数字信号,即0,1的二进制数字信号,通过数模转换,转换成模拟信号,经前级放大进入功率放大器,功率放大器还是模拟的。


5、推挽输出:可以输出高,低电平,连接数字器件;推挽结构一般是指两个三极管分别受两互补信号的控制,总是在一个三极管导通的时候另一个截止。高低电平由IC的电源低定。


6、开漏输出:输出端相当于三极管的集电极。要得到高电平状态需要上拉电阻才行,适合于做电流型的驱动,其吸收电流的能力相对强(一般20mA以内)。


7、复用输出:可以理解为GPIO口被用作第二功能时的配置情况(即并非作为通用IO口使用)。端口必须配置成复用功能输出模式(推挽或开漏)。


在STM32中选用IO模式,下面是参考网上的总结一下。


(1)GPIO_Mode_AIN 模拟输入---应用ADC模拟输入,或者低功耗下省电


(2)GPIO_Mode_IN_FLOATING 浮空输入---可以做KEY识别


(3)GPIO_Mode_IPD 下拉输入--- IO内部下拉电阻输入


(4)GPIO_Mode_IPU 上拉输入---IO内部上拉电阻输入


(5)GPIO_Mode_Out_OD 开漏输出---IO输出0接GND,IO输出1,悬空,需要外接上拉电阻,才能实现输出高电平。当输出为1时,IO口的状态由上拉电阻拉高电平,但由于是开漏输出模式,这样IO口也就可以由外部电路改变为低电平或不变。可以读IO输入电平变化,实现C51的IO双向功能。

(6)GPIO_Mode_Out_PP 推挽输出---IO输出0-接GND,IO输出1 -接VCC,读输入值是未知的。

(7)GPIO_Mode_AF_OD 复用开漏输出---片内外设功能(TX1,MOSI,MISO.SCK.SS)。

(8)GPIO_Mode_AF_PP 复用推挽输出---片内外设功能(I2C的SCL,SDA)。


1.推挽输出


可以输出高、低电平,连接数字器件;推挽结构一般是指两个三极管分别受两个互补信号的控制,总是在一个三极管导通的时候另一个截止。高低电平由IC的电源决定。

推挽电路是两个参数相同的三极管或MOSFET,以推挽方式存在于电路中,各负责正负半周的波形放大任务,电路工作时,两只对称的功率开关管每次只有一个导通,所以导通损耗小、效率高。输出既可以向负载灌电流,也可以从负载抽取电流。推拉式输出级既提高电路的负载能力,又提高开关速度。

2.开漏输出


输出端相当于三极管的集电极,要得到高电平状态需要上拉电阻才行。适合于做电流型的驱动,其吸收电流的能力相对强(一般20mA以内)。开漏形式的电路有以下几个特点:


1、利用外部电路的驱动能力,减少IC内部的驱动。当IC内部MOSFET导通时,驱动电流是从外部的VCC流经上拉电阻、MOSFET到GND。IC内部仅需很小的栅极驱动电流。


2、一般来说,开漏是用来连接不同电平的器件,匹配电平用的,因为开漏引脚不连接外部的上拉电阻时,只能输出低电平,如果需要同时具备输出高电平的功能,则需要接上拉电阻,很好的一个优点是通过改变上拉电源的电压,便可以改变传输电平。比如加上上拉电阻就可以提供TTL/CMOS电平输出等。(上拉电阻的阻值决定了逻辑电平转换的速度。阻值越大,速度越低功耗越小,所以负载电阻的选择要兼顾功耗和速度。)


3、开漏输出提供了灵活的输出方式,但是也有其弱点,就是带来上升沿的延时。因为上升沿是通过外接上拉无源电阻对负载充电,所以当电阻选择小时延时就小,但功耗大;反之延时大功耗小。所以如果对延时有要求,则建议用下降沿输出。


4、可以将多个开漏输出连接到一条线上。通过一只上拉电阻,在不增加任何器件的情况下,形成“与逻辑”关系,即“线与”。可以简单的理解为:在所有引脚连在一起时,外接一上拉电阻,如果有一个引脚输出为逻辑0,相当于接地,与之并联的回路“相当于被一根导线短路”,所以外电路逻辑电平便为0,只有都为高电平时,与的结果才为逻辑1。


关于推挽输出和开漏输出,最后用一幅最简单的图形来概括:该图中左边的便是推挽输出模式,其中比较器输出高电平时下面的PNP三极管截止,而上面NPN三极管导通,输出电平VS+;当比较器输出低电平时则恰恰相反,PNP三极管导通,输出和地相连,为低电平。右边的则可以理解为开漏输出形式,需要接上拉。


关于上拉输入、下拉输入、模拟输入、浮空输入、推挽输出、开漏输出、复用输出的区别

 3.浮空输入


对于浮空输入,一直没找到很权威的解释,只好从以下图中去理解了

关于上拉输入、下拉输入、模拟输入、浮空输入、推挽输出、开漏输出、复用输出的区别

由于浮空输入一般多用于外部按键输入,结合图上的输入部分电路,我理解为浮空输入状态下,IO的电平状态是不确定的,完全由外部输入决定,如果在该引脚悬空的情况下,读取该端口的电平是不确定的。

4.上拉输入/下拉输入/模拟输入


这几个概念很好理解,从字面便能轻易读懂。

5.复用开漏输出、复用推挽输出


可以理解为GPIO口被用作第二功能时的配置情况(即并非作为通用IO口使用)

6.总结在STM32中选用IO模式


1、浮空输入GPIO_IN_FLOATING ——浮空输入,可以做KEY识别,RX1

2、带上拉输入GPIO_IPU——IO内部上拉电阻输入

3、带下拉输入GPIO_IPD—— IO内部下拉电阻输入

4、模拟输入GPIO_AIN ——应用ADC模拟输入,或者低功耗下省电

5、开漏输出GPIO_OUT_OD ——IO输出0接GND,IO输出1,悬空,需要外接上拉电阻,才能实现输出高电平。当输出为1时,IO口的状态由上拉电阻拉高电平,但由于是开漏输出模式,这样IO口也就可以由外部电路改变为低电平或不变。可以读IO输入电平变化,实现C51的IO双向功能

6、推挽输出GPIO_OUT_PP ——IO输出0-接GND, IO输出1 -接VCC,读输入值是未知的

7、复用功能的推挽输出GPIO_AF_PP ——片内外设功能(I2C的SCL,SDA)

8、复用功能的开漏输出GPIO_AF_OD——片内外设功能(TX1,MOSI,MISO.SCK.SS)


7.STM32设置实例


1、模拟I2C使用开漏输出_OUT_OD,接上拉电阻,能够正确输出0和1;读值时先GPIO_SetBits(GPIOB, GPIO_Pin_0);拉高,然后可以读IO的值;使用GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_0);

2、如果是无上拉电阻,IO默认是高电平;需要读取IO的值,可以使用带上拉输入_IPU和浮空输入_IN_FLOATING和开漏输出_OUT_OD;

8.通常有5种方式使用某个引脚功能,它们的配置方式如下:


1、作为普通GPIO输入:根据需要配置该引脚为浮空输入、带弱上拉输入或带弱下拉输入,同时不要使能该引脚对应的所有复用功能模块。

2、作为普通GPIO输出:根据需要配置该引脚为推挽输出或开漏输出,同时不要使能该引脚对应的所有复用功能模块。

3、作为普通模拟输入:配置该引脚为模拟输入模式,同时不要使能该引脚对应的所有复用功能模块。

4、作为内置外设的输入:根据需要配置该引脚为浮空输入、带弱上拉输入或带弱下拉输入,同时使能该引脚对应的某个复用功能模块。

5、作为内置外设的输出:根据需要配置该引脚为复用推挽输出或复用开漏输出,同时使能该引脚对应的所有复用功能模块。


注意如果有多个复用功能模块对应同一个引脚,只能使能其中之一,其它模块保持非使能状态。比如要使用STM32F103VBT6的47、48脚的USART3功能,则需要配置47脚为复用推挽输出或复用开漏输出,配置48脚为某种输入模式,同时使能USART3并保持I2C2的非使能状态。如果要使用STM32F103VBT6的47脚作为TIM2_CH3,则需要对TIM2进行重映射,然后再按复用功能的方式配置对应引脚。

推荐阅读

史海拾趣

芯力微(CHI Power)公司的发展小趣事

芯力微深知人才是企业发展的核心动力。因此,公司一直注重人才的培养和引进。公司建立了一套完善的人才培养机制,为员工提供广阔的发展空间和良好的职业前景。同时,芯力微还积极引进国内外优秀人才,打造了一支高素质、专业化的团队。这支团队不仅具备丰富的行业经验和技术能力,还具备高度的责任感和使命感。他们为公司的发展贡献了自己的智慧和力量。

法思特(FAST)公司的发展小趣事
通过有序地控制电热水器的启动时间,可以避免同时启动多个电热水器造成的电网负载急剧增加。
谷峰(GOFORD)公司的发展小趣事

为了进一步提升市场竞争力,GStek积极寻求与产业链上下游企业的战略合作。公司与知名功率元件供应商NIKO-SEM微电子集团建立了长期稳定的合作关系,共同推动电源管理技术的创新与发展。此外,GStek还积极整合产业链资源,优化供应链管理,确保产品质量的稳定性和供货的及时性。这些措施不仅提升了GStek的综合竞争力,也为其未来的发展奠定了坚实的基础。

FILTRONIC公司的发展小趣事

随着全球对可持续发展的重视日益增强,FILTRONIC也开始关注自身的环保和社会责任问题。公司积极采取措施减少生产过程中的环境污染和资源浪费,推广绿色生产和循环经济理念。同时,FILTRONIC还积极参与社会公益事业和慈善活动,为社区的发展和进步贡献自己的力量。这些努力不仅展现了FILTRONIC作为一家负责任企业的形象,也为公司的长远发展奠定了坚实的基础。

CINTERION公司的发展小趣事

2010年,电子支付与身份识别技术领域的领军企业金雅拓,全资收购了CINTERION。这一资本动作不仅为CINTERION带来了更多的资金支持,更使其在金雅拓的物联网事业部中获得了更广阔的发展空间。收购完成后,CINTERION继续保持其技术领先地位,并在金雅拓的推动下,进一步拓宽了产品线和应用领域。

Bellin公司的发展小趣事

近年来,随着智能电网技术的快速发展,CINTERION凭借其领先的M2M通信技术,在该领域取得了显著突破。其EU3 M2M模块因其卓越的性能和稳定性,荣获了SmartGrid.TMCnet.com颁发的2011年智能电网杰出奖。这一奖项的获得,不仅证明了CINTERION在智能电网技术创新方面的实力,也为公司在该领域的进一步发展奠定了坚实基础。

问答坊 | AI 解惑

multisim

本帖最后由 paulhyde 于 2014-9-15 09:28 编辑 大家有没有用multisim做仿真的啊。我觉得那个还好啦,虽然没有protel那么上手,但至少那是一种方法。。很好学的  …

查看全部问答>

PROTEL 仿真求助

仿真时出现以下错误!不知道怎么设置!请各位帮助! U1 Error: Pin order data (PINS=1:[]) not in READ ONLY field 4. Pins sorted by pin-name. U1 Error: Part type must be entered in READ ONLY field 1: type=() U1 Error: Netlist data m ...…

查看全部问答>

NEC单片机资料集锦

之前看到有朋友用NEC的单片机,找不到资料,这里放上 因为有几百兆,所以选择放链接,请斑竹谅解: 1.NEC单片机选型手册   http://www.getsoon.com.cn/bbs/viewthread.php?tid=2&;extra=page%3D1 2.NEC单片机开发环境   h ...…

查看全部问答>

【藏书阁】电子元件基础知识

PPT   36页 课题:电子元件基础知识 内容: 1.基本术语的概念; 2.电阻、电容的辨别; 3.其它常用元件(二极管、三极管、电感、变压器等)的感官认识;…

查看全部问答>

单片机心得体会

单片机心得体会…

查看全部问答>

求助:各位大哥帮我看看这个 PWM 问题,好吗?谢谢!

请教: 我想用 PWM 输出占空比变化的电压 见附件 资料上还有一段话: CPS2/CPS1/CPS0 = 1/0/0 时,PCA/PWM 的时钟源是 Fosc, 不用 Timer0, PWM 的频率为 Fosc/256,如果使用系统时钟 /3 来作为 PCA 的时钟源,应让 T0 工作在 1T 模式, 记数 3 个 ...…

查看全部问答>

一个POOM的问题

我用POOM把outlook里日历中显示的约会信息全读出来了(我想备份约会,不知道只备份这点行不行).但有个问题: 1   里面的attendees有两项,一个必需 一个可选.在读出来的时候并没有分这两项,而且写回去的时候好象也没分吧,那么我该怎么区分它 ...…

查看全部问答>

有谁知道 中磊(苏州)研发中心!!!!

谁知道中磊研发中心 硬件工程师的笔试题目? 做过的  小弟想看看…

查看全部问答>

请问GPRS模块能直接向上位PC机发送短消息吗,哪位大侠知道

我用sim508模块扩展了一个外围电路,用ARM9开发板通过串口对其进行控制,如果我的上位机没有GPRS模块,能不能接收来自下位机的短消息呢,类似于飞信一样的应用程序?谢谢啦…

查看全部问答>

谁有EDA-VI的实验指导书吗或者是电子开发网的ID

我急切需要一本EDA-VI的实验指导书看,请问大家有不 或者是电子开发网的ID  那边有的下 不过要一个下载点…

查看全部问答>