【车载开发系列】GPIO核心概念理解

【车载开发系列】GPIO核心概念理解

GPIO核心概念理解

一. GPIO输入输出类型

GPIO简单理解就是芯片对外的开关和眼睛。

GPIO的输入有传感器,按键,外部信号;GPIO的输出有控制灯,电机,电平。

二. 五个核心功能

1.输出高低

2.读取输入电平的高低

3.输入模式:上拉/下拉/浮空

4.输出模式:推挽/开漏

5.GPIO中断(边沿触发)

1)上拉输入(Pull-up)

没有信号时内部接上高电平VCC(3.3V/5V),默认是1,当外部按键按下之后,电平变为0。

2)下拉输入(Pull-down)

内部通过电阻接到GND中,自动是低电平,当外部给高电平时变为1,下拉输入用的比上拉输入少,

很多传感器默认不输出时悬空,必须下拉来防止干扰。无感应时下拉为低,有感应时传感器输出高。

3)浮空模式(Floating)

既不上拉也不下拉,它没有默认,飘着,电平不确定。千万不要把传感器,按键设置为浮空模式。它的特点是输入阻抗极高。

4)浮空模式使用场景

模拟输入ADC,光敏,电压采集,电位器等不能上拉与下拉,否则影响电压值。还有外部已经有强驱动电路。

5)推挽输出(Push-Pull)

可以强推高电平也可以强推低电平,一个上管接VCC,一个下管接GND,想稳定的输出高电平或者低电平,就使用推挽输出。控制LED ,控制继电器,蜂鸣器,普通IO口输出就使用它

6)开漏输出(Open-Drain)

只能主动拉低不能主动拉高,高电阻是靠外部电阻上拉上去。要共享总线,需要电平转换时,推荐使用开漏输出。

7)复用推挽/复用开漏

把GPIO交给外部设备使用的时候,就用复用推挽/复用开漏。它就不自己输出高低电平,而是把引脚借给外部设备来使用。

复用开漏:I2C

复用推挽:SPI,UART,PWM

普通推挽GPIO手动来控制,复用推挽则是外设自动控制,电平也是由外设来产生。

三. GPIO中断的概念

GPIO中断是指通用输入输出(General-Purpose Input/Output)引脚在检测到特定电平变化或信号跳变时,主动向处理器发送中断请求,使处理器暂停当前任务、转而执行对应的中断服务程序(ISR)的机制。

1)核心特点

  1. 触发方式
    电平触发:引脚保持高电平或低电平时触发中断(如持续高电平触发)。
    边沿触发:引脚电平发生跳变时触发,分为上升沿(低→高)、下降沿(高→低)或双边沿(两种跳变都触发)。
  2. 作用
    替代轮询方式,减少CPU资源占用,实现对外部事件的实时响应(如按键按下、传感器信号变化等)。
  3. 处理流程
    1. 配置GPIO引脚为中断模式并设置触发条件;
    2. 引脚检测到符合条件的信号,向CPU发送中断请求;
    3. CPU暂停当前任务,跳转到对应的中断服务程序执行;
    4. 中断处理完成后,CPU返回原任务继续执行。

2)归纳总结

GPIO中断是GPIO引脚检测到特定电平变化或信号跳变时,向处理器发送中断请求,使处理器暂停当前任务并执行对应中断服务程序的机制,用于实现对外部事件的实时响应。

3)边沿触发

仅在GPIO引脚电平发生跳变的瞬间触发中断的机制。常见于需要快速响应外部信号变化的场景。

四. GPIO输入输出总结

  1. 输入---我听你的(读取外部信号)
  2. 输出---我指挥你(向外发出信号)
  3. 按键---上拉输入,浮空输入
  4. ADC---模拟输入
  5. LED---通用推挽
  6. 软件I2C---通用开漏
  7. 硬件I2C---复用开漏
  8. PWM、SPI---复用推挽
  9. GPIO中断---按键输入检测,传感器信号捕捉(红外,触摸传感器)
相关推荐
进击的横打2 天前
【车载开发系列】Renesas Flash Programmer (RFP) 反向读取功能
车载系统·编辑器·rfp
进击的横打3 天前
【车载开发系列】瑞萨RH850芯片基础介绍
车载系统
进击的横打5 天前
【车载开发系列】Renesas Flash Programmer (RFP) 使用教程
车载系统
进击的横打6 天前
【车载开发系列】浮点数与整型数的转换
c语言·车载系统
进击的横打7 天前
【车载开发系列】C语言浮点数入门
c语言·车载系统
王夏奇9 天前
自动泊车技术-入门理解
车载系统
研之有李-10 天前
汽车行业如何选研发管理平台?看看行业标杆客户怎么说
车载系统·汽车·团队开发
技术摆渡人10 天前
RK3588 USB系统硅级剖析
android·linux·驱动开发·车载系统·安卓
翻身的咸鱼ing14 天前
CANIF(CAN Interface)收发完整流程
车载系统