正点原子学习笔记(1)—图解GPIO功能结构和工作模式

1.GPIO的功能作用

GPIO俗称IO端口,可以连接外部设备,通过输入输出电平来控制设备。
这里我们需要了解一个概念,电平,通常称1为高电平0为低电平,当电平不一样时会产生电压,这是时候外部设备就通电工作了。
还有一种是高阻态,既不是高电平也不是低电平,对电路毫无影响

在这里插入图片描述
vcc:电源 key:按键 GND:接地电平为0

  1. 第一个图是输入设备,当我们按下key按键的时候,此时电路接通,vcc输出高电平1,GND是低电平0,此时产生电压差。
  2. 第二个图也是一样工作原理,如果输出为高电平则 LED点亮,如果输入为低电平则LED不能点亮。

这是IO大致的功能,接下来我们可以看看IO口内部大致的样子

2.IO端口内部结构

在这里插入图片描述

  1. 保护二级管:保护电路。
  2. 上.下拉电阻:上拉电阻把高阻态转化为高电平1,下拉电阻把高阻态转化为低电平0。
  3. 施密特触发器:把波形电压转化为1或0。
  4. n-mos输出0,p-mos输出1。

下面让我们看一看mos具体应用
在这里插入图片描述
在G的位置可以输出低电平或高电平。
P-MOS处电平为1,在G处通入0则导通,N-MOS管相反。

3.GPIO的八种模式分析

在这里插入图片描述
这八种模式中,前四个只有输入没有输出,后四个既有输入也有输出。

现在就来看看前四个输入模式

在这里插入图片描述

  1. 输入浮空的工作路径:引脚——施密特触发器——输入数据寄存器(IDR)——CPU
    解析:这个工作模式是在引脚处输入1或0,通过寄存器输入cpu,所以这个模式电平是由外部设备决定的。

  2. 输入上拉(输入下拉)的工作路径有两个:
    模式一.(输入1或0)引脚——施密特触发器——输入数据寄存器(IDR)——CPU
    模式二.(输入高阻态)VDD(VSS)开关——施密特触发器——输入数据寄存器(IDR)——CPU
    解析:在引脚处输入1或0时,此时cpu可以接受到电平,但是一但输入高阻态,那么处于不确定模式则会直接通过VDD(VSS)输入高低电平
    VDD 高电平
    VCC 低电平

  3. 模拟输入的工作路径:引脚——模拟输入——至片上外设
    解析:这是直接输出到外部设备(DAC)或(ADC)
    在这里插入图片描述
    后面四种模式输入都是:引脚——施密特触发器——输入数据寄存器(IDR)——CPU

  4. 开漏输出:通过输出数据寄存器(ODR)输出。
    开漏复用输出:通过复用功能,由外部设备输出。

    然后都是通过输出控制——N-MOS——引脚
    解析:由于N-MOS只能输出低电平,如果输出高电平需要在外部加入下拉电阻

  5. 推挽输出:通过输出数据寄存器(ODR)输出。
    推挽式复用输出:通过复用功能,由外部设备输出。

    然后都是通过输出控制——N-MOS(P-MOS)——引脚
    解析:此时由于两个MOS都能使用,可以自由输出高低电平

    大概了解完GPIO工作模式后,那么如何设置工作模式呢?
    这时候就靠操作寄存器来控制工作模式了。
    在下一个文章我会详细说明如何操作寄存器来控制该工作模式。

  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值