STM32CubeMx+HAL笔记(五)GPIO原理

一、什么是GPIO?

1.简介

(1)GPIO是通用输入输出端口简称

(2)是stm32可控制的引脚

(3)GPIO与外部设备连接,可实现控制、与外部设备通信、数据采集等功能

(4)stm32控制的是GPIO上电平的变化

2.GPIO组成框图

 从上图可以看出,GPIO口实现的就是输入输出功能,所以可以从输入驱动器输出驱动器两个方面去剖析。

(1)保护二极管:外部设备与GPIO口连接时,若电压过高或过低都可以通过这两个二极管进行保护,防止不正常电压进入芯片导致芯片烧毁。STM32不建议直接驱动电机,会导致电机不转或者stm32芯片烧毁。官方数据手册明确stm32 GPIO口电压范围。

(2)输出驱动器:

        【1】P-MOS管和N-MOS管组成的电路使GPIO具有“推挽输出”、“开漏输出”两种模式。

         推挽输出:

                IN: H   OUT: H (上面三极管导通,下方三极管截至,OUT输出高电平3.3V); 

                IN: L    OUT: L (上方三极管截至,下方三极管导通,OUT输出低电平0V)

                优点:OUT端高低电平与电源挂钩,电压信号强,STM32常用该模式

        开漏输出:上方的P-MOS管完全不工作

                IN: L  OUT: L(P-MOS关闭,N-MOS导通,输出接地)

                IN: H  OUT: 高阻态(P-MOS关闭,N-MOS也关闭), 只有用上拉电阻把OUT与VDD连接

                上,OUT引脚才会输出高电平

                优点:可实现“线与”功能,一般应用于I2C、SMBUS通讯中,还用于电平不匹配场合

        【2】输出数据寄存器和复用功能输出

  (3)输入驱动器

        【1】输出数据寄存器

        【2】复用功能输入

        【3】模拟输入:模拟信号采集

         其中【1】【2】需要先经过TTL肖特基触发器,【3】不需要;因为肖特基触发器的功能是将模拟信号转换成离散信号。

3.GPIO工作模式

        8种工作模式,三大类:输出模式(4种)、输出模式(2种)、复用功能(2种)

输入模式:模拟、浮空、上拉、下拉输入。输入模式下,施密特触发器打开,输出被禁止

输出模式:推挽、开漏输出。输出模式下,施密特触发器打开,输入可用举例:用GPIO控制LED灯,GPIO配置输出模式,此时GPIO端口可以输出高低电平控制灯的亮灭,也可以通过GPIO口读取当前电平状态知道灯的情况。

复用功能:推挽、开漏。在复用功能下,输出使能,可工作在推挽和开漏模式,但是,输出信号源于其他外设,输出数据寄存器无效;输入可用,可以通过输入数据寄存器获取GPIO状态。

版权声明:本文为CSDN博主「艾特5号」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_42638731/article/details/122225243

一、什么是GPIO?

1.简介

(1)GPIO是通用输入输出端口简称

(2)是stm32可控制的引脚

(3)GPIO与外部设备连接,可实现控制、与外部设备通信、数据采集等功能

(4)stm32控制的是GPIO上电平的变化

2.GPIO组成框图

 从上图可以看出,GPIO口实现的就是输入输出功能,所以可以从输入驱动器输出驱动器两个方面去剖析。

(1)保护二极管:外部设备与GPIO口连接时,若电压过高或过低都可以通过这两个二极管进行保护,防止不正常电压进入芯片导致芯片烧毁。STM32不建议直接驱动电机,会导致电机不转或者stm32芯片烧毁。官方数据手册明确stm32 GPIO口电压范围。

(2)输出驱动器:

        【1】P-MOS管和N-MOS管组成的电路使GPIO具有“推挽输出”、“开漏输出”两种模式。

         推挽输出:

                IN: H   OUT: H (上面三极管导通,下方三极管截至,OUT输出高电平3.3V); 

                IN: L    OUT: L (上方三极管截至,下方三极管导通,OUT输出低电平0V)

                优点:OUT端高低电平与电源挂钩,电压信号强,STM32常用该模式

        开漏输出:上方的P-MOS管完全不工作

                IN: L  OUT: L(P-MOS关闭,N-MOS导通,输出接地)

                IN: H  OUT: 高阻态(P-MOS关闭,N-MOS也关闭), 只有用上拉电阻把OUT与VDD连接

                上,OUT引脚才会输出高电平

                优点:可实现“线与”功能,一般应用于I2C、SMBUS通讯中,还用于电平不匹配场合

        【2】输出数据寄存器和复用功能输出

  (3)输入驱动器

        【1】输出数据寄存器

        【2】复用功能输入

        【3】模拟输入:模拟信号采集

         其中【1】【2】需要先经过TTL肖特基触发器,【3】不需要;因为肖特基触发器的功能是将模拟信号转换成离散信号。

3.GPIO工作模式

        8种工作模式,三大类:输出模式(4种)、输出模式(2种)、复用功能(2种)

输入模式:模拟、浮空、上拉、下拉输入。输入模式下,施密特触发器打开,输出被禁止

输出模式:推挽、开漏输出。输出模式下,施密特触发器打开,输入可用举例:用GPIO控制LED灯,GPIO配置输出模式,此时GPIO端口可以输出高低电平控制灯的亮灭,也可以通过GPIO口读取当前电平状态知道灯的情况。

复用功能:推挽、开漏。在复用功能下,输出使能,可工作在推挽和开漏模式,但是,输出信号源于其他外设,输出数据寄存器无效;输入可用,可以通过输入数据寄存器获取GPIO状态。

版权声明:本文为CSDN博主「艾特5号」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_42638731/article/details/122225243

生成海报
点赞 0

艾特5号

我还没有学会写个人说明!

暂无评论

发表评论

相关推荐

STM32F4最小系统硬件设计

对于硬件工程师来讲,想要入门STM32相关的开发,我想除了深入阅读一下STM32的数据手册外,最实用且有效的方法就是自己实际做一个STM32的最小系统板了。本文将以一个小的STM32F427VG的电路最

STM32F1移植U8g2库

STM32移植U8g2库 MCU为STM32F1030C8T6最小系统,使用STM32CubeMX生成HAL库工程模板,采用硬件四线SPI连接0.96寸单色OLED(驱动芯片为SSD1306,128*