STM32的IO口灌入电流和输出驱动电流最大是多少?

刚开始学习一款单片机的时候一般都是从操作IO口开始的,所以我也一样,先是弄个流水灯。

刚开始我对STM32的认识不够,以为是跟51单片机类似,可以直接操作端口,可是LED灯却没反应,于是乎,仔细查看资料发现,原来对于ARM,不管你要操作哪个IO口,都要先配置IO口。

不过对于普通的IO口的应用,配置会比较简单,主要就以下几个步骤:

1.打开相应IO口的时钟;

2.打开IO口相应引脚位;

3.配置IO口的模式;

4.初始化IO端口。

对于STM32的IO口可以根据需要由软件配置成8种模式:

(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 复用推挽输出

STM32的IO口灌入电流和输出驱动电流最大是多少?
  最大可以输出8mA,灌入20mA,但要保证所有进入芯片VDD的不能超过150mA,同样所有从VSS流出的电流也不能超过150mA。

芯片手册这些参数都有的啊,一般配置IO的话有三个选项10MA,20MA,50MA,可以看情况配置,往大的配置也没有关系,实际使用是多少就是多少

STM32的IO口灌入电流和输出驱动电流最大是多少?

1,浮空输入的时候,你想输入大电流都难。浮空输入,内阻比较大,你得很高的电压,这样直接超过STM32的上限了。

2,推完输出,数据手册上最大电流是25ma,总电流也是25ma。实测可以上到60多mA。不过建议单个IO最好不要超过10mA。

STM32的IO口灌入电流和输出驱动电流最大是多少?

用的最多的也就是推挽输出、开漏输出、上拉输入。在这里做一个总结:

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

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

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

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

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

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

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

三、浮空输入
   顾名思义就是浮在空中,上面用绳子一拉就上去了,下面用绳子一拉就沉下去了。

四、上拉输入/下拉输入/模拟输入:
这几个概念很好理解,从字面便能轻易读懂。

五、复用开漏输出、复用推挽输出:

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

### 关于STM32F407 IO驱动电流能力 STM32F407属于STMicroelectronics公司推出的基于Cortex-M4内核的高性能微控制器系列。其IO的驱动能力电气特性在官方数据手册中有详细的描述。 #### STM32F407 IO驱动能力概述 STM32F407的GPIO(通用输入/输出)引脚具有可编程的上下拉电阻功能以及多种工作模式,包括推挽输出、开漏输出等。每条GPIO引脚的最大驱动能力取决于具体的电源电压工作条件[^3]。通常情况下: - **输出电流**:每个GPIO引脚能够提供最高约25mA的源电流(Source Current),即当引脚处于高电平时所能提供的最大电流。 - **灌入电流**:每个GPIO引脚能够承受的最大电流(Sink Current)同样约为25mA,即当引脚处于低电平时所能吸收的最大电流。 需要注意的是,在实际应用中,为了保证可靠性延长使用寿命,建议不要让单个GPIO引脚长时间接近极限值运行。此外,整个芯片的所有GPIO引脚总功耗也受到限制,一般不超过几百毫安特定制程下的散热设计范围。 #### 数据手册中的具体位置 关于上述参数的具体数值及其测试条件可以在STM32F407的数据手册中查到。该文档由STMicroelectronics发布,编号为DM00037051。其中,“Electrical Characteristics”章节详细列出了各种供电条件下各类型I/O端的工作性能指标;而“Absolute Maximum Ratings”部分则给出了绝对最大额定值作为安全边界参考。 以下是查找这些信息的一般路径提示: 1. 打开对应型号(如STM32F407xx)的产品页面或者直接下载最新版本PDF格式的技术资料; 2. 定位至有关"Pin Description & I/O characteristics" 或者相似命名的小节下阅读相关内容说明; 3. 特别关注表格形式呈现出来的典型值与最差情况估计表项比如V_IH/V_IL相对于不同VDD区间内的定义界限等等细节之处。 ```python # 示例代码展示如何通过Python解析CSV文件获取特定字段的信息 import csv def extract_io_current(file_path, column_name='Max Output Current'): with open(file_path, newline='') as csvfile: reader = csv.DictReader(csvfile) for row in reader: if column_name in row: print(f"{column_name}: {row[column_name]} mA") extract_io_current('stm32f407_specifications.csv') ``` 此函数用于演示目的仅限于此场景,并假设存在名为`stm32f407_specifications.csv` 的 CSV 文件包含目标字段名称 `Max Output Current`. ---
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值