GPIO实际就是单片机的引脚资源。

general purpose input output


1.INPUT-悬浮输入模式:

优点:输入阻抗比较高,可以用于模拟信号转换为数字信号的场合使用,最真实的反应外部信号。

D1作用:端口电压大于VDD,那么导通通过D1导通电压保护芯片内部电路保护IC。

D2作用:端口电压小于VSS,那么导通通过D2导通电压保护芯片内部电路保护IC。


2.INPUT-上拉输入

优点:将引脚上不确定的电平信号,通过一个上拉电阻到高电平,”weak pull-up“弱上拉。

R1作用:电阻起到限流的作用。电路内部是55K,一般取值是30K-80K,所以说明上拉作用很弱。

被称为弱上拉。相反的如果R1电阻的阻值越小,那么就被称为弱上拉。

上拉电阻的补充:一般外部上拉,上拉电阻取4.7K到10K之间。


3.output输出

注:NPN;PNP;NMOS;PMOS.

三极管:

B集电极C集电极E发射极

注1:箭头方向在E发射极上,方向往哪,就是电流往哪个地方流。

注2:BE已经接了,C集电极开路,我们把他称为开集,

由里往外

MOS管:

G栅极S源极D漏极

S源极是比较特殊的,两个柄,并且有箭头。

注1:SG已经接了,D漏极啥没有接,那我们就成他为漏极开路结构。Open drain

推挽输出

慢慢的分析这个电路图还是比较有意思的。

//PMOS栅极高点位,NMOS栅极高电位,NMOS SD极导通,接地

//PMOS栅极低电位,NMOS栅极低电位,PMOS DS极导通,接VDD。

导通损耗小,效率高。

开漏输出

特点:无法输出高电平,需要接上拉电阻,如果不连接外部上拉电阻电路则端口引脚电平状态不确定。

优点:适合做电流驱动型的驱动,吸收电流的能力较强,一般在20ma以内,注意了!

应用:

保护了内部电路,47K那边要留意一下,

应用2

I2C用的就是开漏输出模式,。

补充:

这里引入强上拉和弱上拉。

//对应强下拉和弱上拉

补充:“真正的开漏输出”

图B是真正的开漏,必须要上拉电阻。

参考总结

1.【龙顺宇STM8单片机教程】51单片机过渡32单片机的好“跳板”_哔哩哔哩_bilibili

(推荐大家学习一下老师的STM8课程)

GPIO/输入模式/输出模式的学习相关推荐

  1. STM32G070RBT6基于Arduino框架GPIO输入输出模式

    STM32G070RBT6基于Arduino框架GPIO输入输出模式

  2. GPIO输入输出模式配置

    最近在看数据手册的时候,发现STM32的GPIO输入输出模式的配置种类有8种之多(输入和输入各4种): (1)GPIO_Mode_AIN模拟输入 (2)GPIO_Mode_IN_FLOATING浮空输 ...

  3. STM32F103学习笔记(1)掌握GPIO操作—输出模式(推挽/开漏)

    目录 输出模式(推挽/开漏)详细说明 1.GPIO时钟使能开启,(操作RCC寄存器) 1.查找外设挂接地址 2.APB2 外设时钟使能 2.配置GPIO初始化 3.操作GPIO 4.推挽输出点亮led ...

  4. STM32的8种GPIO输入输出模式深入详解

    输入模式 -输入浮空(GPIO_Mode_IN_FLOATING) -输入上拉(GPIO_Mode_IPU) -输入下拉(GPIO_Mode_IPD) -模拟输入(GPIO_Mode_AIN) 输出模 ...

  5. STM32的GPIO为输出模式时获取其输出状态

    抛出一个问题,STM32的GPIO能否在不改变模式的情况下同时做输入和输出呢?答案是可以 STM32F103 的参考手册GPIO章节摘录: 第5点,在开漏模式时,对输入数据寄存器的读访问可得到I/O状 ...

  6. 内核自带的基于GPIO的LED驱动学习(一)

    为什么学习内核自带的LED驱动? 前面已经学习过了基于纯字符设备的LED驱动,也学习过了基于平台驱动的LED驱动,但是感觉都是按照教程在生搬硬套,到底我们写出来的驱动能不能拿得上台面,是否能在实际的生 ...

  7. 内核自带的基于GPIO的LED驱动学习(三)

    上篇文章讲到了gpio_leds_create函数(),其定义位于drivers/leds/leds-gpio.c,如下: static struct gpio_leds_priv *gpio_led ...

  8. 内核自带的基于GPIO的LED驱动学习(二)

    2)分析平台驱动的probe函数 好,既然这个LED驱动使用的是平台驱动框架,当设备和驱动匹配上之后,就会执行指定的probe函数,那接下来的工作就转移到分析对应的probe函数了.为了直观,我把pr ...

  9. 嵌入式linux中的端口配置,GPIO接口 - 嵌入式Linux学习笔记_Linux编程_Linux公社-Linux系统门户网站...

    一.GPIO介绍 GPIO意为通用输入输出端口,简单说就是一些引脚,通过它们输出高低电平或者通过它们读取引脚高低电平状态 S3C2440有130个I/O端口,分为A-J共9组:GPA.GPB....G ...

最新文章

  1. 概率分布,先懂这6个
  2. qt 提高图片加载速度
  3. Leetcode1690. 石子游戏 VII[C++题解]:带有博弈论的区间dp
  4. JavaScript中的基本数据类型与引用数据类型
  5. ajax请求参数为中文乱码的情况
  6. linux 大文本文件,Linux文本文件处理(1)
  7. anylogic和java_使用Anylogic访问服务器及文件系统
  8. 幅相曲线渐近线_对数幅频特性渐近线的绘制
  9. mysql视图代码_mysql创建视图的实例代码
  10. IP地址分为几类?各如何表示?IP地址的主要特点是什么?
  11. Packet Tracer 思科模拟器入门教程 之十一 路由器静态路由配置
  12. sql语句中select……as的用法
  13. 如何从头搭建一个搜索引擎_pylucene,分词,语言编码问题
  14. 百年IBM:值得全球商界研究的转型变革典范
  15. 高并发下单/抢票问题处理
  16. 蜘蛛池的作用与工作原理(公羊优链蜘蛛池)
  17. forge 服务器 优化,[1.7.10]模组服务器优化教程-Mod服的超频 - 联机教程 - Minecraft(我的世界)中文论坛 -...
  18. 令人无限遐想的各种PCIe加速板卡
  19. 小程序sku的商品用矩阵来完成
  20. 以SimpleWiFi串口转WiFi模块S2WM02为例说明ModbusTCP与ModbusRTU区别

热门文章

  1. html移动端最小字体大小,踩坑之移动端显示字体大小问题
  2. SP,Substance painter
  3. alex股票查询小程序练习
  4. 云原生之使用Docker部署Dashdot服务器仪表盘
  5. 1588的E2E链路延迟测量机制
  6. React 详细教程
  7. 【Class 19】【实例】python 爬虫简单案例实现
  8. Python3的四舍五入round()函数
  9. 重新审视PancakeSwap:Sushi之后又一个摘掉copycat帽子的成功者
  10. 论国产操作系统的研发及其软件生态系统建设的重要性