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号

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

暂无评论

发表评论

相关推荐

stm32——4、中断exti

这里是基于正点原子开发板的学习记录。 首先你要加入固件库 stm32f10x_exti.h 和 stm32f10x_exti.c 1、STM32中每个io口都可以作为外部中断的中断输入口。 2、STM32F103的中断控制器支持19个外部中断/

STM32的GPIO端口

GPIO:General Purpose Input & Output STM32芯片最拥有GPIOA、GPIOB…GPIOG等7组端口,每组端口最多拥有Pin0、Pin1…Pin15共16个引脚。 STM32的每个

STM32外部中断控制LED灯

EXTI简介 EXTI是外部中断控制器,管理了控制器的20个中断/事件。每个中断/事件都对应一个边沿检测器,可以实现输入信号的上升沿检测和下降沿检测。EXTI可以实现对每个中断/事件进行单独配置。 EXTI功能框