找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2945|回复: 9
打印 上一主题 下一主题
收起左侧

关于单片机IO口输出的几种状态

[复制链接]
跳转到指定楼层
楼主
单片机IO口输出的几种状态

1.单片机的开漏输出和开漏复用输出有哪些区别?

2.单片机的推挽输出和推挽复用输出有哪些区别?

3.单片机的开漏输出只能输出低电平,而输出高电平需要外部上拉电阻;而推挽输出是可以真正的输出高电平,除了这个,还有哪些区别?

以上请从电子应用技术的角度说,不要讲一堆的数学模型

开漏复用输出.png (226.66 KB, 下载次数: 29)

开漏复用输出.png

开漏输出.png (223.18 KB, 下载次数: 26)

开漏输出.png

推挽复用输出.png (226.26 KB, 下载次数: 26)

推挽复用输出.png

推挽输出.png (228.55 KB, 下载次数: 17)

推挽输出.png
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:386001 发表于 2021-8-24 16:37 | 只看该作者
通俗,简单一点来说,
IO复用,即一个IO口有两个硬件功能,比如,一个IO口,既可以用作SPI,又可用于UART

而关于开漏和推挽
开漏,相当于一个单刀单置开关
推挽,相当于一个单刀双置开关

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

板凳
ID:935919 发表于 2021-8-24 16:48 | 只看该作者
没有听说复用的部分, 我猜大概是单片机内部有自动外设模块(例如I2C, SPI) 直接进行输出. 比如I2C就需要开漏, SPI用推挽. 然后复用的功能就单片机内部集成了自动的I2C, SPI模块, 所以配置的时候要配置成相应的复用类型. 其本质应该还是开漏和推挽.

至于开漏和推挽除了你说的区别外, 我所知道的是开漏能承受比较大的电流, 其他有知道的人再补充吧.
https://zhuanlan.zhihu.com/p/41942876
看看这里图片和表格更加便于理解一些.

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

地板
ID:10947 发表于 2021-8-24 17:31 | 只看该作者
图都标得那么清楚了啊;
复用功能是相对于普通IO功能来说的;
用指令直接控制IO脚的电平,就是普通IO功能,串口、SPI的发送输出,是由特定的内部模块去控制的,叫复用功能。

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

5#
ID:668004 发表于 2021-8-24 17:54 | 只看该作者
这四种模式分别在什么场合下使用?比如什么时候用开漏什么时候用推挽呢
回复

使用道具 举报

6#
ID:935919 发表于 2021-8-25 08:31 | 只看该作者
QWE4562012 发表于 2021-8-24 17:54
这四种模式分别在什么场合下使用?比如什么时候用开漏什么时候用推挽呢

例如 复用开漏: 使用芯片内部自带的I2C; 复用推挽:使用芯片内部自带的SPI;

普通开漏: 有需要较大电流的(相对于IO口驱动电流), 比如LED直接驱动; 推挽则比较常用.

从开漏和推挽的原理图(看我之前发的链接), 就很好理解了, 比如开漏可以理解为一个NPN三极管C极 接出去, E极接地, B极由芯片内部控制, 这样就好理解了. 推挽看图也是类似的道理.

回复

使用道具 举报

7#
ID:592807 发表于 2021-8-25 08:37 | 只看该作者
QWE4562012 发表于 2021-8-24 17:54
这四种模式分别在什么场合下使用?比如什么时候用开漏什么时候用推挽呢

开漏的话,当单片机驱动能力不足时使用,例如单片机是3.3V但是你控制的元件是需要5V的电平才能动,这时候需要开漏外加5V上拉,或者单片机输出电流最大是1mA但是控制的元件最少要2mA才能驱动,需要用开漏增大电流。至于推挽,正常情况都用推挽。复用的话,IO口不做普通IO口用,使用单片机自带的SPI和USART的时候就得用到复用,你就得配置成对应的复用模式。i2c用复用开漏,spi用复用推挽。
回复

使用道具 举报

8#
ID:668004 发表于 2021-8-25 19:07 | 只看该作者
sinside 发表于 2021-8-24 16:48
没有听说复用的部分, 我猜大概是单片机内部有自动外设模块(例如I2C, SPI) 直接进行输出. 比如I2C就需要开漏 ...

应该是推挽的电流更大
回复

使用道具 举报

9#
ID:278625 发表于 2021-8-25 19:13 | 只看该作者
#在这 通俗,简单一点来说, IO复用,即一个IO口有两个硬件功能,比如,一个IO口,既可以用作SPI,又可用于UART  而关于开漏和推挽 开漏,相当于一个单刀单置开关 推挽,相当于一个单刀双置开关里快速回复#
回复

使用道具 举报

10#
ID:624769 发表于 2021-8-28 15:27 | 只看该作者
复用这个不讲,一般是可以复用某些功能,如SPI,ADC这些,详细看手册。

讲讲推挽和开漏,
开漏通俗来讲,就是只能拉低电平,不能拉高电平,所以需要外接上拉电阻,由外部提供高电平。好处是高电平可以随意指定,比如你5V单片机一般高电平5V,你控制3V的设备就非常麻烦,那么设置开漏,然后外部上拉到3V,就能非常简单的控制3V设备了。
推挽,简单来讲,就是开漏+ 内部用较小的电阻上拉到VCC,这样在高电平状态,就能输出较大的电流。没有推挽模式的单片机,用开漏模式,和300R上拉电阻,一样可以输出15MA的电流。上拉电阻选值必须参考开漏模式的下拉罐电流承受能力,不然,拉不低电平事小,烧坏单片机事大。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表