ARM32开发——(二)GPIO_概念(1)

1. 基础概念

GPIO,全称为“通用输入/输出”(General Purpose Input/Output),是计算机系统中用于与外部世界进行数字通信的一种接口标准。它允许硬件和软件通过电信号来交换数据,控制外部设备或接收外部事件。GPIO通常用于连接各种外设,如按钮、LED灯、传感器、马达、继电器等,以便与计算机系统进行交互。

GPIO具备一些特性:

  • 通用性:GPIO是通用的,意味着它们可以在不同类型的硬件平台上使用,而不必修改底层电路。这种通用性使得开发人员能够设计和编写与硬件无关的代码,实现跨平台的应用。
  • 输入和输出:每个GPIO引脚都可以被配置为输入或输出。当配置为输入时,引脚用于接收外部信号,例如按钮状态或传感器读数。当配置为输出时,引脚用于控制外部设备,例如点亮LED或控制马达运动。
  • 数字信号:GPIO是数字信号接口,这意味着它们只能传输二进制值(0和1)。通过在引脚之间切换电压,可以传递这些数字值,从而实现数据传输和通信。
  • 控制:操作系统或应用程序可以通过读取或写入GPIO引脚来控制外部设备。通过设置输出引脚的电平(高电平或低电平),可以打开或关闭连接的设备。
  • 事件触发:GPIO引脚可以用于检测外部事件。例如,一个传感器可能连接到GPIO引脚上,当传感器检测到特定条件时,它会改变引脚的状态,从而触发系统中的相应操作。
  • 引脚编号:每个GPIO引脚都有一个唯一的编号,通常用数字或字母和数字的组合来表示。在不同的硬件平台上,引脚编号可能会有所不同。
  • 驱动程序和库:为了在操作系统中使用GPIO,通常需要适当的驱动程序或库。这些驱动程序或库可以帮助应用程序与硬件进行交互,读取和写入GPIO引脚的状态。

2. 背景知识

2.1 三极管

  • NPN:基极比发射极电压高0.7v
  • PNP:基极比发射极电压低0.7v

2.2 MOS管

MOS管有NMOS和PMOS两种类型,包含了栅极、漏极、源极三个极,其作用就是开关(通过栅极控制漏极和源极的导通)。

  • NMOS:(1)给栅极输入高电平,mos管导通;(2)给栅极输入低电平,mos管断开;(3)导通时,方向是由漏极到源极;(4)电平通断类似于三极管的NPN。

  • PMOS:(1)给栅极输入高电平,mos管断开;(2)给栅极输入低电平,mos管导通;(3)导通时,方向是由源极到漏极;(4)电平通断类似于三极管的PNP。

3. GPIO输出模式

3.1 推挽输出

通过寄存器控制外部引脚的高低电平,具体来说:

  • 寄存器的配置高电平,外部引脚输出高电平
  • 寄存器的配置低电平,外部引脚输出低电平

由此,我们理解以下推挽中的是什么:

推挽中的是什么:

总结,寄存器控制输出低电平时,外部引脚为低;寄存器控制输出高电平时,外部引脚为高

3.2 开漏输出

通过寄存器控制外部引脚的高低电平,具体来说:

  • 寄存器的配置高电平,外部引脚断开
  • 寄存器的配置低电平,外部引脚输出低电平

由此,我们理解以下开漏输出中的是什么:

这里存在一个问题,开漏输出时,如果给高电平,外接的灯是不会亮的,因此开漏状态下我们需要进行上拉。

开漏输出中的是什么:

3.3 高阻态

高阻态表示,不输出任何高低电平。

无论寄存器输出高或者低,外部引脚始终断开。

4. GPIO输出线与

将两个外部引脚接到一起,我们称之为线与。例如IIC协议中SDA和SCL就会同时配置OD开漏模式,并添加上拉电阻,此时就会产生线与。

4.1 推挽线与(禁止)

推挽过程中,如果一方输出高,一方输出低,则会烧芯片。

因此,推挽是不可以线与的。不能线与,说明不可以和其他芯片同时采用推挽这种方式连接,否则会出现问题。

4.2 开漏线与

开漏过程中,无论双方输出高低电平,芯片都不会收到影响。I2C就是线与的一个实例。

  • 14
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值