美文网首页
GPIO工作原理

GPIO工作原理

作者: MecZhang | 来源:发表于2017-01-07 23:33 被阅读0次
  • GPIO基本结构和工作方式
  • GPIO寄存器说明
  • GPIO引脚说明

FT 5V容忍(3.3V,可以忍受5V)

  1. 四种输入模式
    输入浮空
    输入上拉
    输入下拉
    模拟输入
  2. 四种输出模式
    开漏输出(带上拉或下拉)
    开漏复用功能(带上拉或下拉)
    推挽式输出(带上拉或下拉)
    推挽式复用功能(带上拉或下拉)
  3. 四种最大输出速度
    2MHz
    25MHz
    50MHz
    100MHz

推挽输出
可以输出强高低电平,连接数字器件
开漏输出
只可以输出强低电平,高电平得靠外部电阻拉高。输出端相当于三极管的集电极,要得到高电平状态需要上拉电阻才行。适合做电流型的驱动,其吸收电流的能 力相对较强(一般20mA以内)。

每个GPIO端口的寄存器(一共有10个:4个32位配置寄存器,2个32位数据寄存器)
* 端口模式寄存器 (GPIOx_MODER)
* 端口输出类型寄存器 (GPIOx_OTYPER)
* 端口输出速度寄存器 (GPIOx_OSPEEDR)
* 端口上拉下拉寄存器 (GP|IOx_PUPDR)
* 端口输入数据寄存器 (GPIOx_IDR)
* 端口输出数据寄存器 (GPIOx_ODR)
* 端口置位/复位寄存器 (GPIOx_BSRR)
* 端口配置锁寄存器 (GPIOx_LCKR)
* 复用功能寄存器X2 (低位 GPIOx_AFRL & 高位 GPIOx_AFRH)
每组10个寄存器,可控制16位

  • GPIOx_MODER 端口模式寄存器
    32位对应16个端口,每个寄存器占2位
    00 输入(复位状态)
    01 通用输出状态
    10 复用功能模式
    11 模拟模式

  • GPIOx_OTYPER 端口输出类型寄存器
    32位,高16位保留,必须保持复位值
    低16位对应16个端口,每个位对应一个端口
    0 输出推挽(复位状态)
    1 输出开漏

  • GPIOx_OSPEEDR 端口输出速度寄存器
    32位对应16个端口,每个端口由2位控制
    00 2MHz(低速)
    01 25MHz(中速)
    10 50MHz(快速)
    11 30pF时为100MHz(高速)(15pF时为80MHz(最大速度))

  • GPIOx_PUPDR 端口上拉/下拉寄存器
    32位对应16个端口,每个端口由2位控制
    00 无上拉或者下拉
    01 上拉
    10 下拉
    11 保留

  • GPIOx_IDR 端口输入数据寄存器
    高16位保留,必须为复位值
    低16位只读,只能在字模式下访问。它们包含相应I/O端口的输入值。

  • GPIOx_BSRR 端口置位/复位寄存器
    只写,只能在字、半字或字节模式下访问。读取可返回值0X0000
    高16位 BRy 端口x复位位y
    0 不会对相应的ODRx位执行任何操作
    1 对相应的ODRx位进行复位
    低16位 BSy 端口x置位位y
    0 不会对相应的ODRx位执行任何操作
    1 对相应的ODRx位进行置位

  • GPIOx_ODR 端口输出数据寄存器
    高16位保留,必须保持复位值

所有I/O口都可以作为中断输入。

未完待续!

相关文章

  • GPIO工作原理

    GPIO基本结构和工作方式 GPIO寄存器说明 GPIO引脚说明 FT 5V容忍(3.3V,可以忍受5V) 四种...

  • GPIO工作原理

    GPIO工作方式 初始化示例代码 位带操作 使用sys.h文件 按键

  • 12.28 嵌入式

    今天老师讲了GPIO工作原理和寄存器,GPIO的输入工作模式 输入浮空,输入上拉,输入下拉,模拟输入;输出模式 开...

  • A3. MTK矩阵按键

    首先查看原理图用的是gpio还是矩阵按键。 1. 矩阵按键 1.1 kernel更改 ① 先查看原理图,看下按键位...

  • 3.LED灯简单驱动程序编写流程(1)

    1.硬件原理图 LED灯在主板上,其原理图如下所示: 根据原理图,可知,只需要将GPIO口输出值为低电平,相应的L...

  • Stm32之GPIO工作模式

    GPIO的8种工作模式 GPIO初始化结构体的时候,必须要配置合适的工作模式,这样才能使得IO口发挥应有的作用。工...

  • [玩转树莓派] 0x05 GPIO GPIO

    [TOC] [玩转树莓派] GPIO GPIO GPIO:General Purpose Input/Output...

  • openwrt 编写驱动控制led

    一、编写GPIO驱动 查找 GPIO 寄存器配置(gpio0为例)查手册获取 GPIO0 设置相关的寄存器GPIO...

  • 怎么让stm32某个脚输出高/低电平?

    GPIO-SetBits GPIO-Reset

  • Raspberry PI——GPIO

    在config.txt中GPIO的控制 gpio gpio指令允许GPIO引脚在引导时设置为特定模式和值,代替之前...

网友评论

      本文标题:GPIO工作原理

      本文链接:https://www.haomeiwen.com/subject/jjqqbttx.html