专业IT网络知识平台,分享IT百科知识、生活百科知识解答!

易企推科技
易企推科技

gpio是什么,gpio接口详解

来源:小易整编  作者:小易  发布时间:2023-03-06 04:09
摘要:gpio是什么,gpio接口详解以下是相关文字稿:GPIO全名为(GeneralPurposeInputOutput),即通用输入输出端口,我们在使用的时候一般简称为“IO口”,在芯片封装的时候,通过电子引线从芯片内部引出到外部引脚,通过这...

gpio是什么,gpio接口详解

以下是相关文字稿:

GPIO全名为(General Purpose Input Output),即通用输入输出端口,我们在使用的时候一般简称为“IO口”,在芯片封装的时候,通过电子引线从芯片内部引出到外部引脚,通过这些外部引脚,可以实现传感器信号读取和控制信号输出。

其实呀,我们在学习单片机的时候,就是在学习怎样控制单片机采集外部信号和对外输出控制信号,这里的描述中,“怎样控制”就是指控制逻辑或控制算法;“采集外部信号”就是指如何读取外接输入信号并解析的过程,可以根据外部信号的特性,配置合适的输入模式,外部信号包括数字信号和模拟信号;“输出控制信号”就是指单片机以配置的输出模式、输出速率、信号类型(模拟/数字信号)通过引脚对外部设备输出驱动信号。下面我们就来具体聊一聊单片机GPIO的特性与配置,这里我们以STM32Fxx系列的DateSheet为例讲述。

我们在查看DateSheet GPIO这部分时,首先要看的就是GPIO相关的缩写说明,这里主要是一些参数缩写描述。

gpio是什么,gpio接口详解


GPIO的三种工作模式:

(一)输入模式

第一种是上拉输入/下拉输入/浮空输入:

gpio是什么,gpio接口详解


上拉输入就是通过一个电阻将I/O连接到VCC或指定电源,目的是为了保证在无信号输入时输入端的电平为高电平,而在信号输入为低电平时,输入端的电平应该也为低电平。同样,下拉电阻它是为了保证无信号输入时输入端的电平为低电平,有输入信号时输入端保持高电平。浮空输入呢就是信号输入端既不上拉也不下拉,此时,I/O口处于高阻态,我们也将其称为浮空输入状态,在无信号输入的情况下,此时I/O端口的电平是不确定的。了解了这几种输入模式的特性,那我们在设计时该怎样选择配置呢?这里我们举几个例子:

1)独立按键(无源电路):这种连接方式,在不配置上拉/下拉模式时,当按键按下时,具有确定的输入状态,当按键弹起时,此时I/O端口的输入状态不确定,当受到外部干扰时,就容易出现误触发。所以此时就需要将I/O 口的模式配置为上拉/下拉模式,在按键按下或弹起时均有确定转态。

gpio是什么,gpio接口详解


2)独立按键(外接上拉/下拉电阻):这个电路在按键按下或弹起时,均具有确定的状态,此时,我们可以将I/O配置为浮空输入模式,除此之外,我们一般在电路中还可以并联一个104的瓷片电容,做按键去抖动。

gpio是什么,gpio接口详解


3)有源传感器:下面电路是有源传感器与单片机I/O连接的电路,传感器在正常工作状态下,均具有确定的状态,此时,我们可以将I/O配置为浮空输入模式。


由这几个实例可知,当接入I/O的硬件工作在任意状态下其输出信号都有稳定值(高电平或低电平),此时,可以将单片机I/O配置为浮空输入模式;当接入I/O的硬件只能够输出一种确定状态时,为保证不受外部干扰,此时,就需要将I/O配置为上拉/下拉模式。

在我们的设计中,也要灵活使用模式,因为单片机自带的上拉/下拉电阻为定值,有时不符合我们的设计要求,此时,就需要自己选择合适的外接上拉/下拉电阻。

第2种是模拟输入,就是将外部信号传入单片机的A/D转换器,然后单片机就可以将外部模拟量转化为数字量,再进行后续处理(数字滤波、阈值分析、计算等),带A/D转换功能的引脚都是芯片出厂就确定的。

gpio是什么,gpio接口详解

高阻态模拟配置

gpio是什么,gpio接口详解

连接到 ADC 输入的模拟输入

(二)输出模式

第一种是开漏输出与推挽输出

gpio是什么,gpio接口详解


单片机的I/O输出结构如上图所示,由一个P-MOS与N-MOS组成,通过配置,可以通过控制P-MOS与N-MOS的导通,使输出配置为开漏或推挽输出。当P-MOS禁止时,输出配置为开漏输出,开漏模式一般应用在I2C、SMBUS通讯等需要“线与”功能的总线电路中,在开漏输出模式下,P-MOS管不工作,只有N-MOS管起作用。若输出数据寄存器的值为0,则N-MOS导通,IO口输出低电平;若输出数据寄存器的值为1,则N-MOS截止;由于P-MOS不工作,此时IO口既不是高电平,也不是低电平,这种状态被称为高阻态。

当P-MOS使能时,输出配置为推挽输出,推挽输出又叫推拉输出,是最常见的输出配置了,正如它的名字那样,推挽输出能够驱动输出两种电平。一种是拉接到地(从负载灌入电流),另一个被推到电源电压(输出电流到负载),在集成电路中一般使用两个晶体管搭建,推挽输出模式可以提供较强的驱动力。推挽输出模式下,若输出数据寄存器的值为0,则N-MOS导通,P-MOS截止,IO口输出低电平;若输出数据寄存器的值为1,则N-MOS截止,P-MOS导通,IO口输出高电平。

第二种是模拟输出,就是将外部信号传入单片机的D/A转换器,然后单片机就可以将数字量转换为模拟量输出了,同样,带D/A转换功能的引脚都是芯片出厂就确定的。

(三)复用模式

gpio是什么,gpio接口详解

复用功能配置

我们知道,STM32Fxx内部集成了很多的外设控制器,比如USART、SPI、bxCAN等等,这些外设控制器,也需要通过引脚与外设连接。复用功能是相对于单片机的引脚而言的,所谓“复用功能”,是指单片机的引脚既可以做普通GPIO使用,也可以作为内部外设控制器的引脚来使用。例如,PA5可以作为普通GPIO来使用;其次,如果作为外设的引脚,它可以作为SPI1的时钟(SPI1_SCK)、DAC的输出通道1(DAC_OUT1)或者ADC的输入通道5(ADC12_IN5),但是,PA5支持的三种外设(SPI1、DAC、ADC)在同一时刻只能选择一种,选择的方法是开启相应外设的时钟,并使其它外设的时钟保持关闭状态。

那我们怎么配置呢?这里主要有两种配置方式,第一种就是通过代码直接配置,在我学习STM32的时候,官方只提供了标准库,我们在使用的时候需要按照标准库开发指南来进行配置,这种方式配置比较麻烦,也容易出错,有时候移植代码会造成功能冲突,我们在写代码的时候,不怕报错,就怕不报错功能还不对,我在几次项目中都发生过这种情况,通过查找,基本都是I/O配置冲突。

gpio是什么,gpio接口详解

标准库配置GPIO

这几年随着HAL库的推广,HAL库得到了广泛应用,加上ST公司对STM32的生态环境打造,我们可以通过STM32CubeMX进行配置,STM32CubeMX是STM32Cube生态里用来芯片初始化配置的图形化配置工具。通过分步配置过程可以非常轻松地配置STM32微控制器和微处理器。

gpio是什么,gpio接口详解

第一步包括选择与所需外设集匹配的意法半导体STM32微控制器、微处理器或开发平台,同时包括在特定开发平台上运行的示例。对于微处理器,第二步允许配置GPIO和设置整个系统的时钟,并交互地将外设分配给Arm® Cortex®-M或Cortex®-A内核,通过引脚分配冲突处理器、时钟树设置助手、功耗计算器,以及用于配置外设(如GPIO或USART)和中间件栈(如USB或TCP/IP)的实用工具来配置各个必需的嵌入式软件。最终,用户可以生成与所选配置匹配的软件包。

然后,可以将生成的初始化工程或代码导入到KEIL MDK环境或者ST官方提供的IDE继续编写用户代码,功能非常强大,也十分好用,界面比较友好,解决了使用代码配置过程中存在的引脚功能冲突或引脚功能重复配置问题。

关于芯片的GPIO引脚内容就分享这么多了~


本文地址:IT百科频道 https://www.hkm168.com/tags/916640.html,易企推百科一个免费的知识分享平台,本站部分文章来网络分享,本着互联网分享的精神,如有涉及到您的权益,请联系我们删除,谢谢!


IT百科
小编:小易整编
相关文章相关阅读
  • 某台微机安装的是64位操作系统中,64位指的是什么

    某台微机安装的是64位操作系统中,64位指的是什么

    某台微机安装的是64位操作系统中,64位指的是cpu的字长,即cpu每次能处理64位二进制数据。字长是cpu的主要技术指标之一,指的是cpu一次能并行处理的二进制位数,字长总是8的整数倍,通常pc机的字长为32位,64位。本教程操作环境:w...

  • c语言是什么意思

    c语言是什么意思

    一:c语言是什么意思C语言是一门面向过程的、抽象化的通用程序设计语言,广泛应用于底层开发。C语言能以简易的方式编译、处理低级存储器。C语言是仅产生少量的机器语言,以及不需要任何运行环境支持便能运行的高效率程序设计语言。尽管C语言提供了许多低...

  • skype是什么软件

    skype是什么软件

    skype是一种简单的免费软件,使您能够在数分钟之内在世界上的任何角落拨打免费电话,它使用全新的p2p【对等】技术将您与其他skype用户相连接。Skype是一种简单的免费软件,使您能够在数分钟之内在世界上的任何角落拨打免费电话。Sky...

  • PHP调用美联软通短信接口实现短信发送

    PHP调用美联软通短信接口实现短信发送

    随着人们生活水平的提高和科技的发展,短信已成为人们交流的主要方式之一,越来越多的企业开始通过短信平台来实现营销、提醒等功能。在这个过程中,短信接口的选择显得尤为重要。本文将介绍如何通过php调用美联软通短信接口实现短信发送。一、美联软通短信...

  • 计算机的三类总线分别是什么?

    计算机的三类总线分别是什么?

    计算机的三类总线分别是:控制总线、地址总线和数据总线。控制总线用于将微处理器控制单元的信号,传送到周边设备;地址总线用来指定在ram之中储存的数据的地址;数据总线用于在cpu与ram之间来回传送需要处理或是需要储存的数据。总线(Bus)是计...

  • 2k屏幕是什么意思

    2k屏幕是什么意思

    2k屏幕是指分辨率能够达到2560*1440的屏幕。2k是一个通用术语,指屏幕或者内容的水平分辨率达约2000像素的分辨率等级;又因“16:9”的比例是高清晰度视频规格的国际标准,所以2k分辨率在视频制作、显示屏等领域常见格式为2560*1...

  • mysql中的不等于符号是什么

    mysql中的不等于符号是什么

    mysql中的不等于符号有两种:“!=”和“”;它们都可用于判断数字、字符串、表达式是否不相等。对于“!=”和“”,如果两侧操作数不相等,返回值为1,否则返回值为0;如果两侧操作数有一个是null,那么返回值也是null。本教程操作环境:w...

  • ipad a1822是什么型号

    ipad a1822是什么型号

    ipada1822是苹果ipad第5代的型号;ipad第5代是苹果公司于2017年03月21日在美国加利福尼亚州发布的平板电脑;该机型采用铝镁合金材质一体成型结构;前端外框为白色或黑色;有银色、金色和深空灰色3种外观颜色。本教程操作环境:...

  • 周排行
  • 月排行
  • 年排行

精彩推荐