转载电子发烧友网---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,可以看情况配置,往大的配置也没有关系,实际使用是多少就是多少

1,浮空输入的时候,你想输入大电流都难。浮空输入,内阻比较大,你得很高的电压,这样直接超过STM32的上限了。
2,推完输出,数据手册上最大电流是25ma,总电流也是25ma。实测可以上到60多mA。不过建议单个IO最好不要超过10mA。

用的最多的也就是推挽输出、开漏输出、上拉输入。在这里做一个总结:
一、推挽输出:
可以输出高,低电平,连接数字器件; 推挽结构一般是指两个三极管分别受两互补信号的控制,总是在一个三极管导通的时候另一个截止。高低电平由IC的电源决定。
推挽电路是两个参数相同的三极管或MOSFET,以推挽方式存在于电路中,各负责正负半周的波形放大任务,电路工作时,两只对称的功率开关管每次只有一个导通,所以导通损耗小、效率高。输出既可以向负载灌电流,也可以从负载抽取电流。推拉式输出级既提高电路的负载能力,又提高开关速度。
二、开漏输出:
输出端相当于三极管的集电极,要得到高电平状态需要上拉电阻才行。适合于做电流型的驱动,其吸收电流的能力相对强(一般20mA以内)。开漏形式的电路有以下几个特点:
1、利用外部电路的驱动能力,减少IC内部的驱动。当IC内部MOSFET导通时,驱动电流是从外部的VCC流经上拉电阻、MOSFET到GND。IC内部仅需很小的栅极驱动电流。
2、一般来说,开漏是用来连接不同电平的器件,匹配电平用的,因为开漏引脚不连接外部的上拉电阻时,只能输出低电平,如果需要同时具备输出高电平的功能,则需要接上拉电阻,很好的一个优点是通过改变上拉电源的电压,便可以改变传输电平。比如加上上拉电阻就可以提供TTL/CMOS电平输出等。(上拉电阻的阻值决定了逻辑电平转换的速度。阻值越大,速度越低功耗越小,所以负载电阻的选择要兼顾功耗和速度。)
3、开漏输出提供了灵活的输出方式,但是也有其弱点,就是带来上升沿的延时。因为上升沿是通过外接上拉无源电阻对负载充电,所以当电阻选择小时延时就小,但功耗大;反之延时大功耗小。所以如果对延时有要求,则建议用下降沿输出。
4、可以将多个开漏输出连接到一条线上。通过一只上拉电阻,在不增加任何器件的情况下,形成“与逻辑”关系,即“线与”。可以简单的理解为:在所有引脚连在一起时,外接一上拉电阻,如果有一个引脚输出为逻辑0,相当于接地,与之并联的回路“相当于被一根导线短路”,所以外电路逻辑电平便为0,只有都为高电平时,与的结果才为逻辑1。
三、浮空输入
顾名思义就是浮在空中,上面用绳子一拉就上去了,下面用绳子一拉就沉下去了。
四、上拉输入/下拉输入/模拟输入:
这几个概念很好理解,从字面便能轻易读懂。
五、复用开漏输出、复用推挽输出:
. 可以理解为GPIO口被用作第二功能时的配置情况(即并非作为通用IO口使用)。
转载网址:http://m.elecfans.com/article/589378.html
转载电子发烧友网---STM32的IO口灌入电流和输出驱动电流的更多相关文章
- STM32的IO口灌入电流和输出驱动电流最大是多少?
最大可以输出8mA,灌入20mA,但要保证所有进入芯片VDD的电流不能超过150mA,同样所有从VSS流出的电流也不能超过150mA. 详细请看STM32的数据手册中的相关内容. 例如,STM32F1 ...
- NFC中国-中国第一NFC论坛,NFC中文论坛+NFC技术社区+NFC_电子发烧友网【申明:来源于网络】
NFC中国-中国第一NFC论坛,NFC中文论坛+NFC技术社区[申明:来源于网络] NFC中国-中国第一NFC论坛,NFC中文论坛:http://nfcchina.org/forum.php NFC技 ...
- STM32的IO口的8种配置
STM32的IO口的8种配置 1 STM32的输入输出管脚有以下8种可能的配置:(4输入+2输出+2复用输出) ① 浮空输入_IN_FLOATING ② 带上拉输入_IPU ③ 带下拉输入_IPD ④ ...
- STM32中IO口的8中工作模式
该文摘自:http://blog.csdn.net/kevinhg/article/details/17490273 一.推挽输出:可以输出高.低电平,连接数字器件:推挽结构一般是指两个三极管分别受两 ...
- STM32的IO口是如何配置为某个外设使用的 ---?
@2019-03-01 [猜想] 使用片内外设功能: 首先将对应 IO 口配置为复用输出 其次是 IO 口对应的多个功能外设,哪个外设使能即将外设与 IO 口相连 [疑问] 若多个外设都使能,那么到底 ...
- stm32 普通IO口模拟串口通信
普通IO口模拟串口通信 串口通信协议 串口传输 默认 波特率9600 1起始位 1停止位 其他0 数据位是8位(注意图上的给错了). 传输时,从起始位开始,从一个数据的低位(LSB)开始发送,如图从左 ...
- 关于STM32的IO口速率问题
输入模式可以不用配置速度,但是输出模式必须确定最大输出频率.当STM32的GPIO端口设置为输出模式时,有三种速度可以选择:2MHz.10MHz和50MHz,这个速度是指I/O口驱动电路的速度,是用来 ...
- 单片机小白学步系列(二十) IO口原理
IO口操作是单片机实践中最基本最重要的一个知识,本篇花了比較长的篇幅介绍IO口的原理. 也是查阅了不少资料,确保内容正确无误,花了非常长时间写的. IO口原理原本须要涉及非常多深入的知识,而这里尽最大 ...
- 单片机IO口驱动能力
以STM32的IO口为例,最大的输出电流和灌入电流在芯片手册上都有说明.单个IO口一般都是十几mA到几十mA,同时总的VDD电流也有限制,大概为150mA.所以单片机驱动外设时,如果不是信号型而是功率 ...
随机推荐
- CRC校验算法详解
CRC(Cyclic Redundancy Check)循环冗余校验是常用的数据校验方法,讲CRC算法的文章很多,之所以还要写这篇,是想换一个方法介绍CRC算法,希望能让大家更容易理解CRC算法. 先 ...
- Java之反射 — 用法及原理
Java之反射 - 用法及原理 定义 Java反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法:对于任意一个对象,都能够调用它的任意方法和属性:这种动态获取信息以及动态调用对象 ...
- 《新标准C++程序设计》4.5(C++学习笔记15)
实例:长度可变的整型数组类 int main() { //要编写可变长整型数组类,使之能如下使用: CArray a; //开始里的数组是空的 ; i < ; ++i) a.push_back( ...
- 机器学习-liuyubobobo(慕课网)
第一章 python3玩转机器学习 第二章 机器学习基础 安装:1.anaconda 2.pycharm 第三章 Jupyter Notebook,numpy,Matplotlib 1.jupyt ...
- ①java环境变量配置以及简单的dos框操作
DOS:英文全称Disk Operation System,即磁盘操作系统,是个人电脑上使用的一种操作系统,并曾是世界上最广泛使用的操作系统. JDK: 英文全称Java Development Ki ...
- git克隆项目后的操作
使用https路径clone代码后,如果直接提交,会出现两个问题: 1. 提交的用户是操作系统登陆用户: 2. 需要重复输入用户名和密码: 一 设置用户名和邮箱 git config user.nam ...
- maven项目打包和运行
1. 添加pom <build> <plugins> <plugin> <artifactId>maven-assembly-plugin</ar ...
- sourceTree 生成公钥和私钥 然后拉项目代码
第一步 用sourceTree生成公钥pub和私钥文件ppk 打开sourceTree -> 工具 -> 创建或导入ssh密钥 -> 点击generate -> 上面会显 ...
- tomcat中war 和 war exploded的区别
war和war exploded的区别(转载) 在使用idea开发项目的时候,部署Tomcat的时候通常会出现下边的情况: 是选择war还是war exploded这里首先看一下他们两个的区别: wa ...
- python 首先生成包含1000个随机字符的字符串,然后统计每个字符的出现次数
题目:首先生成包含1000个随机字符的字符串,然后统计每个字符的出现次数 import string import random x = string.ascii_letters + string.d ...