第6章 GPIO端口讲解

合集下载

嵌入式最基础的GPIO接口操作了解一下!

嵌入式最基础的GPIO接口操作了解一下!

嵌入式最基础的GPIO接口操作了解一下!1、GPIOGPIO(General Purpose Input/Output Port),即通用输入输出端口,就是芯片的一些引脚。

作为输入端口时,我们可以通过它们读入引脚的状态--高电平或低电平,作为输出端口时,我们可以通过它们输出高电平或低电平来控制连接的外围设备。

S3C2440有130个GPIO引脚,分为A~J共9组:GPA、GPB、…、GPJ。

通过设置相应的寄存器来设置某个引脚的功能(输入或输出或是其他特殊功能)。

2、通过寄存器操作GPIO每个端口可以很容易的通过软件配置以满足各种系统配置和设计需求,在使用之前你必须定义每个引脚的功能,如果不是用于复用功能,则引脚可以配置为普通输入输出端口。

1)端口配置寄存器GPxCON(x为A~J)GPxCON是用于选择引脚功能。

PORT A的端口配置寄存器GPACON中每一位对应一个引脚(PORT A共23个引脚,bit0~bit22对应GPA0~GPA22)。

当某位被设为0时,相应的引脚被设置成输出引脚,此时可以在GPADAT中相应位写入0或1让此引脚输出低电平或高电平。

当某位被设为1时,相应的引脚被设为地址线或用于地址控制,此时GPADAT无用。

(GPACON通常被设为全1,以便访问外部存储器件)PORT B~PORT J的端口配置寄存器操作完全相同:GPxCON中每两位控制一个引脚,00为输入、01为输出、10为特殊功能、11保留。

2)端口数据寄存器GPxDAT(x为A~J)GPxDAT是用于读/写引脚数据。

当引脚被设为输入时,读此寄存器可得到相应引脚的电平状态是高还是低;当引脚被设为输出时,通过写此寄存器的相应位可设置相应引脚输出高电平或低电平。

3)端口上拉寄存器GPxUP(x为B~J,注意:PORT A端口没有这个寄存器)GPxUP是用于选择是否使用内部上拉电阻。

此寄存器的某位被设置为1时,相应引脚不使用内部上拉电阻;设置为0时,相应引脚使用内部上拉电阻。

gpio结构

gpio结构

GPIO结构1. 什么是GPIO?GPIO(General Purpose Input/Output)是通用输入输出的缩写,是指计算机系统中用于与外部设备进行通信的一组接口。

在现代计算机系统中,GPIO通常是通过芯片上的引脚实现的。

GPIO接口可以以输入或输出的方式与外部设备进行通信。

作为输入,GPIO接口可以接收来自外部设备的信号,如按钮的按下、传感器的检测等。

作为输出,GPIO 接口可以向外部设备发送信号,如控制LED灯的亮灭、控制电机的运转等。

2. GPIO的结构GPIO的结构通常由以下几个组成部分组成:2.1. 引脚GPIO的功能通过芯片上的引脚实现。

每个引脚都有一个特定的编号,用于标识该引脚的功能和位置。

在一些计算机系统中,引脚的编号可能是通过物理排列或者软件配置来确定的。

2.2. 寄存器GPIO的寄存器用于控制和配置引脚的功能和状态。

寄存器是计算机系统中的一种特殊存储器,用于存储特定的控制和状态信息。

通过对寄存器的读写操作,可以实现对GPIO引脚的配置和控制。

寄存器通常包括以下几个重要的部分:•数据寄存器(Data Register):用于读取和写入引脚的电平状态。

•方向寄存器(Direction Register):用于配置引脚的输入或输出方向。

•中断寄存器(Interrupt Register):用于配置引脚的中断功能。

2.3. 控制器GPIO的控制器是负责管理和控制GPIO的硬件模块。

控制器通常由一组寄存器和逻辑电路组成,用于处理GPIO的输入和输出。

控制器的功能包括:•配置引脚的输入输出方向。

•配置引脚的中断功能。

•读取和写入引脚的电平状态。

•控制引脚的上拉和下拉电阻。

2.4. 驱动程序GPIO的驱动程序是运行在计算机系统上的软件模块,用于提供对GPIO的操作接口。

驱动程序通过访问GPIO的寄存器和控制器,实现对GPIO引脚的配置和控制。

驱动程序通常包括以下几个重要的功能:•初始化GPIO的寄存器和控制器。

gpio 手册祥细解

gpio 手册祥细解

gpio手册祥细解
GPIO(General-Purpose Input/Output)是通用输入/输出接口的缩写,它是微控制器芯片上常见的接口之一。

GPIO接口可以用于控制外部设备、读取外部设备的状态或者实现与其他设备的通信。

在微控制器中,GPIO接口通常由多个寄存器组成,每个寄存器控制一个特定的GPIO引脚。

每个GPIO引脚都可以被配置为输入或输出模式,并且可以设置不同的工作模式和触发方式。

GPIO接口的主要寄存器包括:
1.端口配置寄存器(GPIOx_CRL/CRH):用于配置GPIO 引脚的工作模式和触发方式。

2.端口输入数据寄存器(GPIOx_IDR):用于读取GPIO 引脚的输入状态。

3.端口输出数据寄存器(GPIOx_ODR):用于设置GPIO 引脚的输出状态。

4.端口位清除寄存器(GPIOx_BRR):用于清除指定的GPIO位。

5.端口位设置/清除寄存器(GPIOx_BSRR):用于设置或清除指定的GPIO位。

6.端口配置锁定寄存器(GPIOx_LCKR):用于锁定GPIO 引脚的配置寄存器,防止意外修改。

在使用GPIO接口时,首先需要配置GPIO引脚的工作模式和触发方式,然后可以通过读取或设置端口输入/输出数据寄存器来控制外部设备或读取外部设备的状态。

同时,也可以使用位清除、位设置/清除等操作来控制特定的GPIO位。

需要注意的是,不同的微控制器可能具有不同的GPIO接口和寄存器配置,因此在使用时需要参考具体的微控制器手册或数据手册进行操作。

gpio端口的基本结构

gpio端口的基本结构

gpio端口的基本结构
GPIO端口是一种广泛使用的计算机外围接口,它具有对外围设备进行输入和输出信号调节的功能。

GPIO端口的基本结构主要由端口控制器(I/O控制器)、接口驱动器(输入/输出驱动器)和多路I/O端口构成。

端口控制器是GPIO端口的核心部件,它控制着整个GPIO端口系统的工作,它拥有许多特性,用于实现对端口的控制和诊断,并支持不同类型外设的通讯。

接口驱动器是端口控制器协同工作的另一部分,它负责将来自外设的信号转变为控制器可以识别的信号,以便控制器能够准确地识别外设,有效地驱动外设的工作。

最后,GPIO端口的基本结构还包括多路I/O端口,它提供与CPU 交互的接口,是CPU与外设的连接桥梁,可由外设传递信号和数据,也可由CPU接收外设传来的信号和数据,完成数据交换。

总之,GPIO端口的基本结构主要由端口控制器、接口驱动器和多路I/O端口构成,它们在GPIO端口的工作中起着不同的作用,支持不同类型外设的通讯,与CPU间的交互,从而实现对外围设备的输入和输出信号的控制和调节。

GPIO详细介绍

GPIO详细介绍

GPIO(General-Purpose Input/Output)——通用输入/输出口,对大多数从事电子行业的人来说并不是什么陌生的东西。

但它却是基础性的,很多MCU 的后续开发都得用到GPIO。

TM320F28335有88个IO口,为GPIO0至GPIO87,其中GPIO0至GPIO63可以配置为8个核心中断。

TM320F28335的GPIO口可以分为三组,分别为A口(GPIO0至GPIO31),B口(GPIO32至GPIO63)和C口(GPIO64至GPIO87)。

GPIO的寄存器可以分为三种,分别是GPIO控制寄存器,GPIO数据寄存器和GPIO中断与低功耗模式选择寄存器。

详见图1、2、3。

图1 GPIO控制寄存器图2 GPIO数据寄存器图3 GPIO中断与低功耗模式选择寄存器GPIO控制寄存器GPxCTRL(x=A,B,C)为配置为输入限制的引脚指定了采样周期。

采样周期介于限制采样周期之内,是相对于系统时钟周期的倍数。

具体的配置见图4,以A口为例。

图4 GPIO Port A Qualification Control (GPACTRL) Register Field Descriptions而GPIO限制选择寄存器GPxQSELy(x=A,B,C;y=1,2)指定了采样窗是3个采样点还是6个采样点。

具体的配置见图5,还是以A口为例。

图5 GPIO Port A Qualification Select 1 (GPAQSEL1) Register Field Descriptions以上寄存器主要是为GPIO的输入功能进行的配置。

通过,图6(Qualification Using Sampling Window)和图7(Input Qualifier Clock Cycles),我们可以很清楚的知道GPIO的输入限制是怎样完美的去除我们不需要的噪声的。

图6Qualification Using Sampling Window图7Input Qualifier Clock Cycles在图7中,输入限制将忽略这个尖刺小脉冲。

GPIO的设置与使用

GPIO的设置与使用

GPIO的设置与使用GPIO,全称为“General Purpose Input/Output”,即通用输入/输出端口。

它是单片机(或其他外设)上的一组可编程的通用引脚,可以配置为输入或输出,通过编程控制,与外界设备进行数据交互。

GPIO具有可编程性和通用性,因此在嵌入式系统中广泛应用于控制和通信。

1.引脚模式设置:GPIO引脚可以配置为不同的模式,例如输入模式、输出模式、复用模式等。

一般通过寄存器来配置引脚的模式。

对于输入模式,可以配置引脚的阻抗、上拉或下拉电阻;对于输出模式,可以配置引脚的电平状态;对于复用模式,可以选择引脚的功能和使用的外设。

2.引脚操作:一旦引脚被配置为输入或输出模式,就可以通过相应的寄存器对引脚进行操作。

对于输入引脚,可以获取引脚的电平状态,判断输入信号的逻辑值;对于输出引脚,可以设置引脚的电平状态,控制输出信号的逻辑值。

3.中断设置:GPIO引脚可以配置中断功能,这样当引脚的电平状态发生变化时,可以触发中断并执行相应的中断服务程序。

通过中断方式,可以实现对输入引脚的实时监测和响应。

4.外设控制:GPIO引脚可以与外设进行连接,并通过GPIO来控制外设的功能。

例如,可以通过GPIO控制LED的亮灭、驱动蜂鸣器的发声、读取按键的状态等。

这需要通过设置相应的引脚模式和操作寄存器来实现。

1.确定所需的GPIO引脚:根据具体需求,确定需要使用的GPIO引脚。

这可以通过查阅芯片手册或开发板资料来获取相应的引脚信息。

2.配置引脚模式:根据使用要求,将GPIO引脚配置为输入或输出模式。

这一般需要设置相应的寄存器,标志位或设置值。

3.进行引脚操作:根据GPIO引脚的模式,进行相应的读取或写入操作。

对于输入引脚,可以读取引脚的电平状态;对于输出引脚,可以设置引脚的电平状态。

4.设置中断:如果需要使用中断功能,可以配置相应的中断使能,并编写中断处理函数。

在引脚状态变化时,触发中断执行中断处理程序。

GPIO详细介绍

GPIO详细介绍

GPIO(General-Purpose Input/Output)——通用输入/输出口,对大多数从事电子行业的人来说并不是什么陌生的东西。

但它却是基础性的,很多MCU 的后续开发都得用到GPIO。

TM320F28335有88个IO口,为GPIO0至GPIO87,其中GPIO0至GPIO63可以配置为8个核心中断。

TM320F28335的GPIO口可以分为三组,分别为A口(GPIO0至GPIO31),B口(GPIO32至GPIO63)和C口(GPIO64至GPIO87)。

GPIO的寄存器可以分为三种,分别是GPIO控制寄存器,GPIO数据寄存器和GPIO中断与低功耗模式选择寄存器。

详见图1、2、3。

图1 GPIO控制寄存器图2 GPIO数据寄存器图3 GPIO中断与低功耗模式选择寄存器GPIO控制寄存器GPxCTRL(x=A,B,C)为配置为输入限制的引脚指定了采样周期。

采样周期介于限制采样周期之内,是相对于系统时钟周期的倍数。

具体的配置见图4,以A口为例。

图4 GPIO Port A Qualification Control (GPACTRL) Register Field Descriptions而GPIO限制选择寄存器GPxQSELy(x=A,B,C;y=1,2)指定了采样窗是3个采样点还是6个采样点。

具体的配置见图5,还是以A口为例。

图5 GPIO Port A Qualification Select 1 (GPAQSEL1) Register Field Descriptions以上寄存器主要是为GPIO的输入功能进行的配置。

通过,图6(Qualification Using Sampling Window)和图7(Input Qualifier Clock Cycles),我们可以很清楚的知道GPIO的输入限制是怎样完美的去除我们不需要的噪声的。

图6Qualification Using Sampling Window图7Input Qualifier Clock Cycles在图7中,输入限制将忽略这个尖刺小脉冲。

一文看懂GPIO!

一文看懂GPIO!

一文看懂GPIO!一、前言GPIO全称General Purpose Input Output 即通用输入/输出,其实GPIO的本质就是芯片的一个引脚,通常在ARM中所有的I/O都是通用的。

不过由于每个开发板上都会设计不同的外围电路,这就造成GPIO的功能可能有所不同,大部分GPIO都是有复用功能的,比如有些GPIO可能是串口的TX或RX,也可能是I2C的SCL或SDA线。

所以我们不仅要知道GPIO能够输出高低电平,还要理解为什么有些GPIO可以复用某些功能,而其他的不可以。

二、GPIO内部结构我们在使用GPIO的时候可能不会去想为什么我们通过写代码或者操作寄存器就可以控制一个引脚的高低电平。

今天就让我们一起来看看为什么我们通过操作寄存器(其实写代码的过程就是在操作寄存器)就能控制引脚输入或者输出。

我们想要想控制一个GPIO口的需要操作7个寄存器,分别是CRL,CRH,IDR,ODR,BRR,BSRR,LCKR 我们对GPIO的操作本质上就是在对这些寄存器进行读写操作,以下是这些寄存器的名称:GPIOx_CRL(x = A..E)端口配置低寄存器 32位寄存器GPIOx_CRH(x = A..E)端口配置高寄存器 32位寄存器GPIOx_IDR(x = A..E)端口输入数据寄存器 32位寄存器但仅用低16位GPIOx_ODR(x = A..E)端口输出数据寄存器 32位寄存器但仅用低16位GPIOx_BRR(x = A..E)端口位清除寄存器 16位寄存器GPIOx_BSRR(x = A..E)端口位设置/清除寄存器 16位寄存器GPIOx_LCKR(x = A..E)端口配置锁定寄存器 32位寄存器我们首先分析上面的结构电路:1、保护二极管:保护二极管从它的名字就不难想到他是用来对系统进行保护的,通过两个二极管的导通可以防止引脚外部输入电压过低或过高。

当电压过高时,上方的保护二极管导通。

当电压过低时,下方的二极管导通,防止不正常电压导入到芯片内部造成芯片烧毁。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

保留 5,4 GPC2 输入 输出 VLINE 保留
位号 位 名 位值:0 22 GPA22 输出 21 GPA21 输出 20 GPA20 输出 19 GPA19 输出 18 GPA18 输出 17 GPA17 输出 16 GPA16 输出 15 GPA15 输出 14 GPA14 输出 13 GPA13 输出 12 GPA12 输出 11 GPA11 输出
0x56000020 R/W 0x56000024 R/W 0x56000028 R/W 0x5600002C -
端口C引脚配置寄存器 端口C数据寄存器 端口C上拉寄存器 端口C保留寄存器
Reset Value 0x0 0x0 -
GPCDAT---为准备输出或输入的数据
其值为16位[15:0]
GPCUP---端口C上拉寄存器,位[15:0]有意义。
GPA5
输出 ADDR20
GPA4
输出 ADDR19
GPA3
输出 ADDR18
GPA2
输出 ADDR17
GPA1
输出 ADDR16
GPA0
输出
ADDR0
FCE: Flash片选
LOGO
2、端口B寄存器及引脚配置
Register GPBCON GPBDAT GPBUP RESERVED
Address 0x56000010 0x56000014 0x56000018 0x5600001C
11
Reserved Reserved Reserved Reserved Reserved Reserved Reserved Reserved Reserved Reserved Reserved
LOGO
3、端口C寄存器及引脚配置
Register
Address R/W
Description
GPCCON GPCDAT GPCUP RESERVED
输入
GPB5
输入
GPB4
输入
GPB3
输入
GPB2
输入
GPB1
输入
GPB0
输入
01 输出 输出 输出 输出 输出 输出 输出 输出 输出 输出 输出
10 nXDREQ0 nXDACK0 nXDREQ1 nXDACK1 nXBACK nXBREQ
TCLK0 TOUT3 TOUT2 TOUT1 TOUT0
Description 端口A引脚配置寄存器
端口A数据寄存器 端口A保留寄存器 端口A保留寄存器
Reset Value 0x7FFFFF -
GPADAT寄存器为准备输出的数据 其值为23位[22:0]
注意:(1)当A口引脚配置为非输出功能时,其输出无意义; (2)从引脚输入没有意义。
LOGO
1、端口A寄存器及引脚配置
位号 位名
位值
11
00 01 10 11
保留 15,14 GPC7 输入 输出 LCDVF2 保留
保留 13,12 GPC6 输入 输出 LCDVF1 保留
保留 11,10 GPC5 输入 输出 LCDVF0 保留
保留 9,8 GPC4 输入 输出 VM 保留
保留 7,6 GPC3 输入 输出 VFRAME 保留
0:对应引脚设置为上拉
1:无上拉功能
注意: 当C口引脚配置为非输入/输出功能时,其寄存器中的值没 有意义。
LOGO
端口C引脚配置寄存器
位值 位号 位 名
00 01 10
31,30 GPC15 输入 输出 VD7 29,28 GPC14 输入 输出 VD6 27,26 GPC13 输入 输出 VD5 25,24 GPC12 输入 输出 VD4 23,22 GPC11 输入 输出 VD3 21,20 GPC10 输入 输出 VD2 19,18 GPC9 输入 输出 VD1 17,16 GPC8 输入 输出 VD0
R/W
Description Reset Value
R/W 端口B引脚配置寄存器 0x0
R/W 端口B数据寄存器
-
R/W 端口B上拉寄存器
0x0
-
端口B保留寄存器
-
GPBDAT---为准备输出或输入的数据
其值为11位[10:0]
GPBUP---端口B上拉寄存器,位[10:0]有意义。
0:对应引脚设置为上拉
1:无上拉功能
注意: 当B口引脚配置为非输入/输出功能时,其寄存器中的值没 有意义。
LOGO
端口B引脚配置寄存器
位号 21,20 19,18 17,16 15,14 13,12 11,10
9,8 7,6 5,4 3,2 1,0
位 名 位值:00
GPBB8
输入
GPB7
输入
GPB6
LOGO
第六章 GPIO端口
1
LOGO
一、GPIO概述
S3C2410X有117个输入/输出端口。这些端口是: A口(GPA):23个输出口 B口(GPB):11个输入/输出口 C口(GPC):16个输入/输出口 D口(GPD):16个输入/输出口 E口(GPE):16个输入/输出口 F口(GPF):8个输入/输出口 G口(GPG):16个输入/输出口 H口(GPH):11个输入/输出口 这些端口都具有多功能,通过引脚配置寄存器,可以 将其设置为所需要的功能,如:I/O功能、中断功能等等。
LOGO 二、端口寄存器及引脚配置
每一个端口都有4个寄存器,它们是:引脚配置寄存器 、数据寄存器、引脚上拉寄存器等。
Register
Address R/W
GPXCON 0x560000x0 R/W
GPXDAT 0x560000x4 R/W
GPXUP 0x560000x8 R/W
RESERVED 0x560000xC R/W
1
位号
nFCE 10
nRSTOUT 9
nFRE
8
nFWE
7
ALE
6
CLE
5
nGCS5 4
nGCS4 3
nGCS3 2
nGCS2 1
nGCS1 0
ADDR26
位 名 位值:0
1
GPA10 输出 ADDR25
GPA9
输出 ADDR24
GPA8
输出 ADDR23
GPA7
输出 ADDR22
GPA6
输出 ADDR21
Description 端口X配置寄存器 端口X数据寄存器 端口X上拉寄存器 端口X保留寄存器
Reset Value X X X -
LOGO
1、端口A寄存器及引脚配置
Register GPACON GPADAT RESERVED RESERVED
Address R/W 0x56000000 R/W 0x56000004 R/W 0x56000008 0x5600000C -
相关文档
最新文档