通用数字量输入输出GPIO

合集下载

gpio的类别

gpio的类别

gpio的类别
GPIO(General Purpose Input/Output,通用输入/输出)的类别或模式可以根据不同的应用和设计需求进行划分。

以下是一些常见的GPIO类别或模式:
1、输入模式(Input Mode):GPIO端口将读取外部设备发出的信号。

2、输出模式(Output Mode):GPIO端口将向外部设备发出信号。

3、复用模式(Multiplexing Mode):GPIO端口可以同时实现输入和输出功能。

4、高阻模式(High Impedance Mode):GPIO端口被设置为高阻模式,输入端口的输入信号会被抑制。

5、推挽输出模式(Push-Pull Output Mode):GPIO端口可以在输出模式时使用推挽输出模式。

6、中断模式(Interrupt Mode):GPIO端口可以捕捉到外部设备发出的信号。

7、测试模式(Test Mode):GPIO端口可以用于测试外部设备。

8、热插拔模式(Hot-Plugging Mode):GPIO端口可以实现热插拔功能。

9、此外,在Cortex-M3等处理器中,GPIO的配置种类可能还包括模拟输入(AIN)、浮空输入(IN_FLOATING)、下拉输入(IPD)、
上拉输入(IPU)、开漏输出(Out_OD)等。

请注意,这些模式并非全部,具体的GPIO类别或模式可能会因处理器、芯片或开发板的不同而有所差异。

因此,在实际应用中,需要参考相关的硬件文档或数据手册以获取准确的GPIO类别和配置信息。

STM32系列单片机原理及应用-C语言案例教程-第3章-通用输入输出的端口(GIPO)全文

STM32系列单片机原理及应用-C语言案例教程-第3章-通用输入输出的端口(GIPO)全文
第3章 通用输入/输出(GIPO)
3.2 STM32的GPIO 工作原理
3.2.2 GPIO 口输入/输出模式
下面介绍推挽输出和开漏输出的工作原理。
推挽输出电路原理图
推挽输通的时候另一个截止。
开漏输出电路原理图
第3章 通用输入/输出(GIPO)
3.2 STM32的GPIO 工作原理
3.2.5 GPIO锁定机制
I/O端口的锁定机制允许冻结I/O配置。 当在一个端口位上执行了锁定(LOC引脚在下一次复位之前,将不能再更改端口位的配置),该功能主要用在一些关键点引脚配置上,防止程序跑飞引起灾难性后果。 例如,在驱动功率模块的配置上,应该使用锁定机制,以冻结I/O口配置,即使程序跑飞,也不影响这些引脚的配置。
3.2.1 GPIO 端口结构
第3章 通用输入/输出(GIPO)
3.2 STM32的GPIO 工作原理
3.2.1 GPIO 端口结构
1.输出驱动器 (1)GPIO的输出驱动器主要由多路选择器、输出控制和一对互补的MOS管组成。多路选择器是根据设置决定该引脚是GPIO普通还是复用输出。 普通输出:由输出数据寄存器GPIO控制。 复用功能输出:一个引脚可对应多个复用功能输出。但同一时刻,该引脚只用复用功能中的一个,其他复用功能都处于禁止状态。 (2)输出控制逻辑和一对互补的MOS管。输出控制逻辑根据要求通过控制和NMOS管的状态(通/断)决定GPIO输出模式(开漏、推挽还是关闭)。
第3章 通用输入/输出(GIPO)
3.2 STM32的GPIO 工作原理
使用GPIO主要是对相应的寄存器进行操作,每个GPIO端口具有7组寄存器: 2个32 位配置寄存器(GPIOx_CRL,GPIOx_CRH ); 2个32 位数据寄存器(GPIOx_IDR,GPIOx_ODR ); 1个32位置位/复位寄存器(GPIOx_BSRR ); 1个16位复位寄存器(GPIOx_BRR ); 1个32位锁定寄存器(GPIOx_LCKR)

7、通用数字量输入输出GPIO

7、通用数字量输入输出GPIO

配置,下边详细介绍GPIO的工作原理及其配置过程。
GPIO工作原理
F28335 DSP将这88个GPIO口分成了A、B、C三大组,A组包括GPIO0至 GPIO31,B组包括GPIO32至GPIO63,C组包括GPIO64至GPIO87,每个引脚都复用
了多个功能,同一时刻,每个引脚只能用该引脚的一个功能。究竟工作在哪个模式
GPIO工作原理
GPIO工作原理
GPIO寄存器
名 称 GPACTRL GPAQSEL1 GPAQSEL2 GPAMUX1 GPAMUX2 GPIOADIR GPIOAPUD GPBCTRL GPBQSEL1 GPBQSEL2 GPBMUX1 GPBMUX2 GPBDIR GPBPUD GPCMUX1 GPCMUX2 GPCDIR GPCPUD GPIOXINT1SEL GPIOXINT2SEL GPIONMISEL GPIOXINT3SEL GPIOXINT4SEL GPIOXINT5SEL GPIOXINT6SEL GPIOXINT7SEL GPIOLPMSEL 地 址 0X6F80 0X6F82 0X6F84 0X6F86 0X6F88 0X6F8A 0X6F8C 0X6F90 0X6F92 0X6F94 0X6F96 0X6F98 0X6F9A 0X6F9C 0X6FA6 0X6FA8 0X6FAA 0X6FAC 0X6FE0 0X6FE1 0X6FE2 0X6FE3 0X6FE4 0X6FE5 0X6FE6 0X6FE7 0X6FE8 空间地址 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 描 述 GPIOA控制寄存器 GPIOA量化控制寄存器1 GPIOA量化控制寄存器2 GPIOA选择寄存器1 GPIOA选择寄存器2 GPIOA方向寄存器 GPIOA上拉禁止寄存器 GPIOB控制寄存器 GPIOB量化控制寄存器1 GPIOB量化控制寄存器2 GPIOB选择寄存器1 GPIOB选择寄存器2 GPIOB方向寄存器 GPIOB上拉禁止寄存器 GPIOC 选择寄存器1 GPIOC 选择寄存器2 GPIOC 方向寄存器 GPIOC 上拉禁止寄存器 外部中断源选择寄存器1 外部中断源选择寄存器2 不可屏蔽中断源选择寄存器 外部中断源选择寄存器3 外部中断源选择寄存器4 外部中断源选择寄存器5 外部中断源选择寄存器6 外部中断源选择寄存器7 唤醒低功耗模式源选择寄存器

gpio的类别

gpio的类别

gpio的类别全文共四篇示例,供读者参考第一篇示例:GPIO全称为General Purpose Input/Output,即通用输入输出端口,是一种常见的数字信号接口。

在嵌入式系统中,GPIO被广泛应用于控制和通讯领域。

GPIO可用于控制LED灯、驱动蜂鸣器、读取按键输入等操作。

在各种开发板和单片机中,GPIO的种类繁多,可以根据需求选择不同的类型。

下面我们将介绍一些常见的GPIO类别。

1. 数字输入输出GPIO数字输入输出GPIO是最常见的一种类型,可以用于读取或输出数字信号。

数字输入GPIO可以连接外部传感器、按键等设备,用来检测设备状态或用户操作。

数字输出GPIO则可以控制外部设备,比如LED 灯、继电器等。

数字输入输出GPIO通常有固定的电压、电流规格,并且具有高电平(1)和低电平(0)两种状态。

2. 模拟输入输出GPIO模拟输入输出GPIO可以读取和输出模拟信号,通常用于传感器数据采集、电压信号输出等应用。

模拟输入GPIO具有一定的分辨率和输入电压范围,可以通过ADC(模数转换器)将模拟信号转换为数字信号,再进行处理。

模拟输出GPIO则可以输出具有一定电压范围的信号,用于控制电压型设备。

3. 中断输入GPIO中断输入GPIO用于处理外部中断信号,可以在接收到特定事件时触发中断处理程序。

中断输入GPIO通常具有较高的响应速度和可靠性,可以及时处理各种事件,提高系统的实时性和稳定性。

中断输入GPIO 一般需配置中断触发条件和中断处理函数,以实现特定功能。

4. PWM输出GPIOPWM(脉冲宽度调制)输出GPIO可以产生一种脉冲信号,用来控制电机速度、LED亮度等。

PWM输出GPIO通过调节脉冲信号的占空比和频率,实现对外部设备的精确控制。

PWM输出GPIO通常具有软件可配置的参数,可以根据需要进行调整,满足不同应用场景的需求。

5. 串口GPIO串口GPIO支持串行通讯协议,如UART、SPI、I2C等,可以用来和外部设备进行数据交换。

gpio使用流程

gpio使用流程

gpio使用流程
GPIO是通用输入/输出引脚的缩写,是处理器或微控制器上的一种数字输入/输出接口,可以用于连接和控制外部电路和设备。

使用GPIO需要遵循以下流程:
1.确定GPIO编号:根据开发板或芯片的数据手册,确定GPIO的编号。

通常用数字表示,例如树莓派的GPIO17。

2.配置GPIO模式:GPIO可以有多种使用模式,例如输入、输出、中断等。

根据需要设置GPIO的模式。

3.设置GPIO方向:对于GPIO输出,需要设置输出的方向,即输出高电平还是低电平。

对于GPIO输入,需要确定输入的方向,即上拉还是下拉。

4.读写GPIO状态:在设置完GPIO模式和方向后,就可以读写GPIO的状态。

对于输出模式,可以通过设置输出电平实现控制外部设备的功能。

对于输入模式,可以读取外部设备的状态或信号。

5.清除GPIO状态:在使用完GPIO后,需要清除GPIO的状态,以免对下一次使用造成干扰。

需要注意的是,GPIO的使用需要考虑硬件电路的安全性和稳定性,避免短路、过电流等问题。

同时,在使用GPIO时也需要考虑代码的可靠性和稳定性,避免出现死循环、误触发等问题。

- 1 -。

第5章 通用输入输出接口

第5章 通用输入输出接口
= Data;
(4) Data变量中为1的位将输出高电平
数据输出线:
0x??
0x00
Data
• GPIO应用示例——输出多位数据至IO口
在需要将多位数据同时输出到某几个IO口线时,通常使用 IOxSET和IOxCLR来实现,在某些情况下也可以使用IOxPIN寄存 器实现。后者可以在多个IO口上直接输出0和1电平。
out in FIOxDIR FIOxCLR FIOxSET 1 0
PINSELx
FIOxPIN
FIOxPIN 31 : 0
描述 GPIO引脚值。FIOxPIN[0]对应于Px.0… FIOxPIN[31]对应于Px.31引脚
复位值 未定义
该寄存器反映了当前引脚的状态。FIOxPIN中的x对应于某一个 端口,如P1口对应于FIO1PIN。所以芯片存在多少个端口,就有多 少个IOxPIN分别与之对应。
FIOxDIR FIOxSET FIOxCLR FIOxPIN Px.n
Bit31 Bit31 Bit31 Bit31 Px.31
Bit30 Bit30 Bit30 Bit30 Px.30
…… …… …… …… ……
Bit1 Bit1 Bit1 Bit1 Px.1
Bit0 Bit0 Bit0 Bit0 Px.0
IOxPIN PINSELx GPIO 输出清零寄存器。该寄存器控制引脚输出 低电平 IOxDIR IOxCLR
NA
0x00000000 0x00000000 0x00000000
读/置位 只清零 读/写
GPIO方向控制寄存器。该寄存器单独控制每个 IO口的方向
• GPIO相关寄存器描述——FIOxPIN
GPIO输入0

GPIO输入输出各种模式详解

GPIO输入输出各种模式详解

GPIO输入输出各种模式详解GPIO(General Purpose Input/Output)是通用输入输出口,用于连接外部设备和单片机。

在单片机中,GPIO可以配置为输入或输出模式,同时还有三种特殊的模式:推挽模式、开漏模式和准双向端口模式。

下面将从原理、使用场景和配置方法三个方面详细介绍这三种模式。

推挽模式(Push-Pull Mode)是GPIO输出的常见模式,也是默认的输出模式。

当GPIO输出引脚处于高电平状态时,推挽模式会提供高电平输出(通常为Vcc电源电平),而当GPIO输出引脚处于低电平状态时,推挽模式会提供低电平输出(通常接地)。

推挽模式的优势在于输出电流大,能够提供较强的驱动能力,适用于直接驱动大功率负载的场景。

例如,通过GPIO控制LED灯等外设时,推挽模式可以稳定提供给LED所需的驱动电流,保证LED的正常工作。

开漏模式(Open-Drain Mode)是GPIO输出的另一种模式。

当GPIO输出引脚处于高电平状态时,开漏模式会将输出引脚拉到高阻态,而当GPIO输出引脚处于低电平状态时,开漏模式会将输出引脚拉到地。

开漏模式需要通过一个外接上拉电阻将输出引脚连接到Vcc电源电平上。

开漏模式的优势在于输出可以与其他器件共享同一个总线,通过总线上的上拉电阻或其他器件的驱动电源提供高电平。

开漏模式适用于多个GPIO输出的引脚需要共享一个总线的场景,例如,使用I2C总线协议时,多个GPIO引脚可以共享SDA(数据线)和SCL(时钟线)。

准双向端口(Quasi-Bidirectional Port)是GPIO输入输出的特殊模式,常见于外设总线接口中。

准双向端口可以既作为输入又作为输出,且在不同的时间片段进行输入输出操作。

准双向端口的原理是通过一个三态门和一个外接上拉电阻实现的。

当GPIO处于输出模式时,三态门使得GPIO输出到外设;而当GPIO处于输入模式时,三态门处于高阻态,外设可以将信号输入到GPIO中。

gpio的基本使用方法

gpio的基本使用方法

gpio的基本使用方法GPIO,即通用输入输出引脚,是一种通用的数字信号输入输出接口,它允许我们将数字信号发送到其他设备,或从其他设备接收数字信号,并使用它们进行控制和通信。

在树莓派等嵌入式设备的开发工作中,GPIO是非常重要的一个组成部分,使用方法也十分简单。

一、初始化GPIO要使用GPIO,我们首先需要将其初始化,以便我们可以开始使用其不同的引脚。

在初始化过程中,我们需要指定GPIO的模式,即输入或输出模式。

1.导入必要的库import RPi.GPIO as GPIO2.设置GPIO引脚模式:“输入/输出”GPIO.setmode(GPIO.BOARD)这将使我们根据引脚的物理编号而不是树莓派GPIO编号来标识GPIO引脚。

3.设置GPIO模式GPIO.setup(pin, mode)其中“pin”为GPIO引脚编号,“mode”可以是“IN”(输入模式)或“OUT”(输出模式)。

例如,要将GPIO引脚7设置为输出模式,代码如下:GPIO.setup(7, GPIO.OUT)二、读写GPIOGPIO只能够处理高低电平,因此我们需要了解如何使用Python将高电平和低电平发送到GPIO引脚,并从GPIO引脚读取高电平和低电平。

1.写GPIOGPIO.output(pin, value)其中,“pin”为GPIO引脚编号,“value”可以是HIGH(高电平)或LOW(低电平)。

例如,要将GPIO引脚7输出高电平,代码如下:GPIO.output(7, GPIO.HIGH)2.读GPIOGPIO.input(pin)其中,“pin”为GPIO引脚编号。

例如,要从GPIO引脚7读取电平,代码如下:input_value = GPIO.input(7)三、关闭GPIO当我们完成了对GPIO引脚的使用之后,需要将其关闭以防止出现不必要的错误并释放它们的状态。

我们可以使用GPIO.cleanup()函数将所有GPIO设置为默认状态。

第5.1节 通用输入输出口(GPIO)

第5.1节 通用输入输出口(GPIO)

电气信息类专业课程DSP原理及应用——跟我动手学TMS320F2833xDSP原理及应用第5.1节通用输入/输出口(GPIO)通用输入/输出口(GPIO)TMS320F2833x系列DSP包含多达88个独立可编程复用的GPIO口。

•引脚以它们的通用I/O名称来命名(GPIO0~GPIO87)。

这些引脚可以被单独地选为数字I/O进行操作,简称为GPIO;或者被连接到不超过三个外设I/O信号中的一个信号上(通过GPxMUXn寄存器)。

•如果引脚工作在数字I/O模式,可通过寄存器配置引脚方向(通过GPxDIR寄存器),也可以限制输入信号的脉宽以消除不必要的噪声(通过GPxQSELn、GPACTRL和GPBCTRL寄存器)。

•三组32位的输入/输出端口。

端口A包含GPIO0~GPIO31,端口B包含GPIO32~GPIO63,端口C包含GPIO64~GPIO87。

GPIO模式选择控制•引脚功能分配、输入信号限制和外部中断源(XINT1~XINT7,XNMI)都是由GPIO配置控制寄存器来控制的。

•可以分配引脚来将器件从HALT和STANDBY低功耗模式唤醒,也可以使能/禁用内部的上拉电阻功能。

GPxCTRL GPIOx限制控制寄存器GPxQSELn GPIOx限制选择寄存器nGPxMUXn GPIOx复用寄存器nGPxDIR GPIOx方向寄存器GPAPUD GPIOx上拉禁用寄存器GPIOXINTxSEL XINTx源选择寄存器GPIOXNMISEL XNMI源选择寄存器GPIOLPMSEL LPM唤醒源选择寄存器GPIO配置步骤•①规划引脚功能,即规划引脚作为通用输入或输出I/O口,或复用为特殊功能外设引脚。

•②使能或禁止内部上拉功能(通过配置GPxPUD相应位)。

•③对输入引脚进行限制(通过配置GPxCTRL、GPxQSELn)。

•④配置引脚的功能(通过配置GPxMUXn)。

•⑤对于通用数字I/O口,配置引脚的方向(通过配置GPxDIR)。

数字信号处理 通用输入输出口(GPIO)

数字信号处理 通用输入输出口(GPIO)

GPIO配置
GPIO配置步骤
• ①规划引脚功能,即规划引脚作为通用输入或输出I/O口,或复用为特殊功 能外设引脚。
• ②使能或禁止内部上拉功能(通过配置GPxPUD相应位)。 • ③对输入引脚进行限制(通过配置GPxCTRL、GPxQSELn)。 • ④配置引脚的功能(通过配置GPxMUXn)。 • ⑤对于通用数字I/O口,配置引脚的方向(通过配置GPxDIR)。 • ⑥选择低功耗模式唤醒源。若需用I/O口将器件从低功耗模式下唤醒,则需
• 引脚以它们的通用I/O名称来命名(GPIO0~GPIO87)。这些引脚可 以被单独地选为数字I/O进行操作,简称为GPIO;或者被连接到不 超过三个外设I/O信号中的一个信号上(通过GPxMUXn寄存器)。
• 如果引脚工作在数字I/O模式,可通过寄存器配置引脚方向(通过 GPxDIR寄存器),也可以限制输入信号的脉宽以消除不必要的噪声 (通过GPxQSELn、GPACTRL和GPBCTRL寄存器)。
通过配置GPIOLPMSEL寄存器来指定实现唤醒功能的I/O口。 • ⑦选择外部中断源。若需用I/O口作为外部中断源的输入引脚,则需配置
GPIOINTxSEL和GPIOXNMISEL寄存器来指定I/O口。
GPIO数据控制
GPIO数据控制:GPxDAT、GPxSET、GPxCLEAR、GPxTOGGLE寄存器
GPxCLEAR寄存器:
• GPxCLEAR寄存器用来将特定GPIO引脚驱动为低电平,而不干扰其它引脚。 • 如果引脚被配置成通用I/O输出功能,向GPxCLEAR寄存器中的相应位写1,将
会使输出GPIO输出,那么值将会被锁存,但是引脚不被驱动。
• 三组32位的输入/输出端口。端口A包含GPIO0~GPIO31,端口B包含 GPIO32~GPIO63,端口C包含GPIO64~GPIO87。

数字量 io gpio

数字量 io gpio

数字量io gpio
数字量IO(Input/Output)是指一种数字信号的输入和输出方式,通常用于控制数字电路和微控制器系统中的开关、传感器等设备。

GPIO (General Purpose Input/Output)是指通用的数字输入/输出引脚,它可以连接内部或外部电路,可以输入或输出数字信号。

数字量IO通常由一个控制器和多个数字量输入/输出端口组成,控制器根据输入信号的状态和程序逻辑的要求来控制输出端口的状态,实现数字信号的输入和输出。

数字量IO通常具有高速响应、可编程性、可靠性等优点,广泛应用于汽车、航空、医疗、工业自动化等领域。

GPIO是一种通用的数字输入/输出引脚,可以用于连接各种数字设备和传感器。

GPIO通常由一个控制器和多个GPIO引脚组成,每个GPIO 引脚可以设置为输入模式或输出模式,通过程序控制实现数字信号的输入和输出。

GPIO具有灵活性高、可编程性强、易于扩展等优点,被广泛应用于嵌入式系统、单片机、微控制器等领域。

GPIO模式详解

GPIO模式详解

GPIO模式详解GPIO(General-Purpose Input/Output)即通用输入输出口,是一种通用的数字输入输出接口。

在嵌入式系统中,GPIO被广泛应用于控制外围设备和传感器,如LED灯、按钮、蜂鸣器等。

GPIO具有灵活性强、适用范围广的特点,可以通过软件对其进行编程配置,从而实现各种功能。

GPIO的模式主要分为输入模式和输出模式两种。

1.输入模式:在输入模式下,GPIO被配置为接收外部信号的输入。

GPIO的输入信号可以是高电平(1)或低电平(0),也可以是无效信号(high impedance)。

在输入模式下,GPIO可以检测外部信号的变化,并将其转换为数字信号供处理器使用。

输入模式常见的应用场景:-按钮输入:将按钮连接到GPIO引脚,通过检测按钮的按下和释放事件来触发相应操作。

-传感器输入:将各种传感器连接到GPIO引脚,通过读取传感器的输出信号来获取环境信息。

-外部设备状态检测:连接到外部设备的引脚,通过读取外部设备的状态信号来判断设备是否工作正常。

2.输出模式:在输出模式下,GPIO被配置为向外部设备输出信号。

GPIO的输出信号可以是高电平(1)或低电平(0),也可以是高阻抗状态(高阻抗状态即断开与外部设备的连接)。

输出模式下,GPIO通过改变电平来控制外部设备的状态。

输出模式常见的应用场景:-LED控制:将LED连接到GPIO引脚,通过控制GPIO的电平来打开或关闭LED。

-舵机控制:将舵机连接到GPIO引脚,通过控制GPIO的电平来控制舵机的转动方向和角度。

-蜂鸣器控制:将蜂鸣器连接到GPIO引脚,通过控制GPIO的电平来触发蜂鸣器的鸣叫。

GPIO的模式配置需要通过软件编程实现,不同的平台和操作系统有不同的配置方法。

1.引脚选择:选择要配置的GPIO引脚,通常通过引脚编号或名称进行选择。

2.模式选择:选择要配置的模式,即输入模式还是输出模式。

3.状态设置:根据选择的模式,设置相应的状态,如输入模式下的上拉/下拉,输出模式下的高电平/低电平。

gpio的规格

gpio的规格

gpio的规格
通用输入输出(GPIO,General Purpose Input/Output)是一种数字信号的通用引脚,可以在计算机和嵌入式系统中用于输入和输出数字信号。

不同的硬件平台和芯片厂商可能有不同的GPIO规格,但以下是一些通用的GPIO规格和特性:
1.电压电平:GPIO引脚通常支持不同的电压电平,如3.3V、5V等。

使用时需要根据具体硬件要求选择合适的电压电平。

2.输入阻抗:GPIO的输入阻抗通常在几千到几百千欧姆之间,这取决于具体的硬件设计。

输入阻抗决定了引脚对外部信号的敏感度。

3.输出驱动能力:GPIO的输出驱动能力表示其能够驱动外部负载的能力,通常以毫安(mA)为单位。

较高的输出驱动能力允许连接更大的负载。

4.最大频率:GPIO引脚支持的最大切换频率,即输入和输出信号的变化速度。

这一点在需要快速信号传输时很重要。

5.可配置性:GPIO引脚通常是可配置的,可以通过软件设置为输入或输出,并可能具有其他特殊功能,如中断、上拉/下拉电阻等。

6.标准:一些GPIO规格符合特定的标准,例如CMOS(互补金属氧化物半导体)、TTL (晶体管—晶体管逻辑)等。

这些标准通常影响了电平定义和电气特性。

7.工作温度范围:GPIO的工作温度范围是指它能够可靠工作的温度范围。

需要注意的是,具体的GPIO规格可能因芯片型号、制造商和应用场景而异。

因此,在使用GPIO时,应参考相关芯片手册、数据表或硬件规格说明来获取具体的规格信息。

通用输入输出(GPIO)介绍

通用输入输出(GPIO)介绍

图5
解决开漏模式上拉电压不足的方法
如果确实想进一步提高输出电压, 一种简单的做法是先在 GPIO 管脚上串联一只二极管 (如 1N4148 ) ,然后再接上拉电阻。参见图 5,框内是芯片内部电路。向管脚写“1”时, T1 关闭,在 Pin 处得到的电压是 3.3 + VD1+ VD3 =4.5V ,电压提升效果明显;向管脚写 “0”时,T1 导通,在 Pin 处得到的电压是 VD3=0.6V ,仍属低电平。
图 4 GPIO 钳位二极管示意图 GPIO 内部具有钳位保护二极管,如图 4 所示。其作用是防止从外部管脚 Pin 输入电压 过高或者过低。VDD 正常供电是 3.3V ,如果从 Pin 输入的信号(假设任何输入信号都有 一定的内阻)电压超过 VDD 加上二极管 D1 的导通压降(假定在 0.6V 左右) ,则二极管 D1 导通,会把多于的电流引到 VDD,而真正输入到内部的信号电压不会超过 3.9V。同理, 如果从 in 输入的信号电压比 GND 还低,则由于二极管 D2 的作用,会把实际输入内部的信 号电压钳制在-0.6V 左右。 假设 VDD =3.3V , GPIO 设置在开漏模式下,外接 10kΩ上拉电阻连接到 5V 电源, 在输出“1”时,我们通过测量发现:GPIO 管脚上的电压并不会达到 5V ,而是在 4V 上下, 这正是内部钳位二极管在起作用。虽然输出电压达不到满幅的 5V,但对于实际的数字逻辑 通常 3.5V 以上就算是高电平了。
其作用是防止从外部管脚pin输入电压vdd正常供电是33v如果从pin输入的信号假设任何输入信号都有vdd加上二极管d1的导通压降假定在06v左右则二极管d1导通会把多于的电流引到vdd而真正输入到内部的信号电压不会超过39v
通用输入输出(GPIO)介绍

通用输入输出端口GPIO

通用输入输出端口GPIO

PortG (16)
PortH (16) PortI (12) 总共引脚数目 48+1+2=51 80+2=82 112+2=114 128+12=140 PH0/1(OSC) PH0/1(OSC) PH0/1(OSC)
GPIO占芯片所有引脚的80% 左右
4
GPIO结构框图
数字外设
数字外设和 EVENTOUT
特殊I/O引脚说明 STM32F1和STM32F2的GPIO比较
2
培训内容
GPIO引脚分布和结构框图 I/O引脚的多路复用选择和映射 I/O引脚的8种配置模式
输入:浮空、上/下拉、模拟输入 输出:可配置上/下拉的推挽输出、开漏输出
I/O引脚的特色功能
引脚配置锁定 引脚上的位操作 I/O补偿单元
必须32位读写
19
GPIO位操作(1)
STM32Fቤተ መጻሕፍቲ ባይዱ位操作,两个寄存器,只支持字操作
GPIOx_BSRR[32] = Bri | Bsi (i=0~15) GPIOx_BRR[32] = Bri (i=0~15) e.g. 同时同向toggle PA.0和PA.1
>> GPIOA_BSRR = 0x03 >> GPIOA_BRR = 0x03 >> GPIOA_BSRR = 0x21 >> GPIOA_BSRR = 0x12

③ ① 输出驱动关闭 ② Schmit触发输入关闭 ③上/下拉电阻被禁止

Schmitt触发器关闭
该引脚功耗为0 触发器输出强制为常数0
读取输入数据寄存器始终得到”0” 模拟功能配置下,I/O引脚不是5V容忍

第五章 通用输入输出端口(GPIO)

第五章 通用输入输出端口(GPIO)

0x0000 70C1 1
GPAQUAL 0x0000 70C2 1
GPBMUX
0x0000 70C4 1
GPBDIR
0x0000 70C5 1
GPBQUAL 0x0000 70C6 1
GPDMUX
0x0000 70CC 1
GPDDIR
0x0000 70CD 1
GPDQUAL 0x0000 70CE 1
while(1) {
GpioDataRegs.GPASET.all =0xAAAA; GpioDataRegs.GPACLEAR.all =0x5555; delay_loop(); GpioDataRegs.GPACLEAR.all =0xAAAA; GpioDataRegs.GPASET.all =0x5555;
while(1)
{ GpioDataRegs.GPADAT.all =0xAAAA; delay_loop();
GpioDataRegs.GPADAT.all delay_loop(); } }
=0x5555;
使用SET/CLEAR寄存器反转触发I/O引脚
void Gpio_example2(void) {
端口设置
void Gpio_select(void)
{
Uint16 var1;
Uint16 var2;
Uint16 var3;
var1= 0x0000;
// sets GPIO Muxs as I/Os
var2= 0xFFFF;
// sets GPIO DIR as outputs
var3= 0x0000;
//所有中断,标志清零。
IER = 0x0000; //关闭CPU中断,清除所有CPU中断标志;

gpio 原理

gpio 原理

gpio 原理
GPIO (General Purpose Input/Output) 是通用输入/输出引脚的缩写。

它是一种用于连接外部设备的电路接口,它允许将数字信号发送到外部设备或从外部设备接收数字信号。

GPIO可以通
过编程方式控制,用于与其他外部组件(如传感器、执行器、显示器等)进行通信。

每个GPIO引脚都有一个特定的编号。

GPIO的工作原理基于数字电平的控制。

数字电平可以是高电
平(表示1)或低电平(表示0)。

通过将GPIO引脚配置为
输入模式,可以读取外部设备发送的信号。

而将GPIO引脚配
置为输出模式,则可以向外部设备发送信号。

在输入模式下,GPIO引脚通过读取电压来获取外部设备发送
的信号。

如果电压高于某个阈值,则该引脚对应的输入被视为高(1),否则为低(0)。

这样,可以通过读取GPIO输入来
获取外部设备的状态或数据。

在输出模式下,可以通过编程的方式将GPIO引脚设置为高(1)或低(0)电平。

通过控制输出电平,可以向外部设备发送信号,控制其工作状态或执行特定的操作。

通过编程语言(如C、Python等)可以访问GPIO引脚,并使
用相应的函数和库来配置GPIO的工作模式、读取输入状态和
控制输出状态。

这样,可以实现与外部设备的交互,并根据需要进行数据读取、信号发送等操作。

总之,GPIO通过控制数字电平的方式实现与外部设备的通信,
为嵌入式系统提供了一种灵活且易于使用的接口。

通过编程和配置,可以实现对外部设备的控制与数据交换。

通用目的输入输出口GPIO使用实验

通用目的输入输出口GPIO使用实验

通用目的输入输出口GPIO使用实验二、实验步骤:1、LCD背光亮灭控制STM32固件库是由ST公司针对STM32微控制器为用户开发提供的API (Application Program Interface ,应用程序接口)。

实际上,STM32固件库是位于寄存器和用户之间的预定义代码,它由程序、数据结构和各种宏定义组成。

STM32固件库向下实现与寄存器的直接相关操作,向上为用户提供配置寄存器的标准接口。

实验开发板选用STM32F103RBT6,板上有一块128*128液晶屏,其背光点亮由引脚PA8(LED_EN)控制,置高背光灯亮,置低背光灯灭。

可由如下代码实现:GPIO_SetBits(GPIOA,GPIO_Pin_8); //PA8=1,背光灯亮;GPIO_ResetBits(GPIOA,GPIO_Pin_8); //PA8=0,背光灯灭。

LCD开始初化PA.8口为10MHz 推挽输出PA.8口输出高电平点亮LCD延时1秒PA.8口输出低电平熄灭LCD延时1秒步骤如下:第一步:复制创建的工程模板文件夹到桌面,并将文件夹改名为“LCD背光控制”。

将原工程模板编译一下,直到没有错误和警告为止。

第二步:在main.c文件中输入如下源程序,对GPIO管脚进行初始化,给PA.8引脚赋值控制LCD背光亮灭。

编译工程,如没有错误,则会在output文件夹中生成“工程模板.hex”文件,如有错误则修改源程序直至没有错误为止。

第三步:将生成的目标文件通过ISP软件下载到开发板微控制器的FLASH 存储器当中,复位运行,检查实验效果。

2、创建LED驱动函数嵌入式应用程序的开发可以基于微控制器厂商提供的驱动程序库,也可以针对外设寄存器直接编写驱动程序。

为使用到的外设编写驱动是嵌入式系统开发时常用的技术,GPIO驱动是驱动开发中最基础,但却是很常用、很重要的驱动,比如要点亮一个LED灯、键盘扫描、输出高低电平等等。

编写GPIO操作接口,也就是所谓的GPIO驱动框架,可以让开发人员调用这些接口去操作设备的IO 口,而不需要担心硬件平台的不同导致IO口的不同。

通用输入输出接口

通用输入输出接口

GPIO端口方向寄存器 GPIO输出置位寄存器 GPIO输出清零寄存器
GPIO管脚值寄存器
控制的引脚
FIOxDIR Bit31 Bit30 … … Bit1 Bit0 FIOxSET Bit31 Bit30 … … Bit1 Bit0 FIOxCLR Bit31 Bit30 … … Bit1 Bit0 FIOxPIN Bit31 Bit30 … … Bit1 Bit0
所有GPIO寄存器位于AHB总线上,可以进行高性能的 CPU快速访问,支持Cortex-M3位带操作;
可配置为上拉/下拉电阻、开漏和中继模式;
GPIO允许进行DMA数据操作。
GPIO特性描述|中断
LPC1700系列Cortex-M3的P0和P2还具有中断功能, P0和P2每个引脚都可配置为上升沿、下降沿或双边沿中断。
Px.n Px.31 Px.30 … … Px.1 Px.0
GPIO输入输出|I/O相关寄存器
LPC1700系列Cortex-M3的高速GPIO口还可通过一 些字节和半字访问的寄存器来控制,如FIOxDIR0/1/2/3、 FIOxSET0/1/2/3、FIOxCLRL/U等。
GPIO端口方向寄存器 GPIO输出置位寄存器 GPIO输出清零寄存器
GPIO管脚值寄存器
控制的引脚
FIOxDIR Bit31 Bit30 … … Bit1 Bit0 FIOxSET Bit31 Bit30 … … Bit1 Bit0 FIOxCLR Bit31 Bit30 … … Bit1 Bit0 FIOxPIN Bit31 Bit30 … … Bit1 Bit0
复位值 0
当引脚设置为GPIO输出模式时,可使用该寄存器控制引脚的方 向。向某位写入1使对应引脚作为输出功能,写入0时作为输入功 能。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《手把手教你学DSP——基于TMS320F28335》配套视频资 料
第七讲
通用数字量输入输出GPIO
南京研旭电气科技有限公司
公司网站: 天猫旗舰店: 学习论坛: 交流邮箱:zqj518@
GPIO寄存器
struct GPIO_CTRL_REGS { union union union union union union union Uint32 union union union union union union union Uint16 union union union union }; GPACTRL_REG GPA1_REG GPA2_REG GPA1_REG GPA2_REG GPADAT_REG GPADAT_REG GPACTRL; GPAQSEL1; GPAQSEL2; GPAMUX1; GPAMUX2; GPADIR; GPAPUD; rsvd1; GPBCTRL_REG GPBCTRL; GPB1_REG GPBQSEL1; GPB2_REG GPBQSEL2; GPB1_REG GPBMUX1; GPB2_REG GPBMUX2; GPBDAT_REG GPBDIR; GPBDAT_REG GPBPUD; rsvd2[8]; GPC1_REG GPCMUX1; GPC2_REG GPCMUX2; GPCDAT_REG GPCDIR; GPCDAT_REG GPCPUD;
本课程是依照南京研旭电气科技有限公司推出的TMS320F28335至尊板来进 行详细讲解的,如果在学习过程中遇到任何疑问欢迎与我们进行联系沟通。
本教程是依照南京研旭电气科技有限公司推出的 TMS320F28335至尊板来进行详细讲解的。本书详细地阐 述了TMS320F28335 DSP处理器内部各功能模块的硬件结 构、工作原理、资源分配、功能特点以及应用等内容,同时 每个模块都配了实验教程,方便学生掌握提高。 本书配套资料包括:书中所有实例例程、烧写软件工具、 配套PPT、配套视频以及常用的调试工具软件,读者可以在 研旭电气提供的交流论坛(www.armdsp,net )相关版块或
4、利用GPxTOOGLE寄存器置1后(写0无效)来将I/O输出电平翻转,原来高 电平变成低电平,原来低电平则变成高电平。
GPIO工作原理
GPIO工作原理
第七讲:通用数字量输入/输出(GPIO)
1、GPIO工作原理 2、GPIO寄存器 3、GPIO编程
4、基于F28335 GPIO的跑马灯实验
出引脚,即可以作为通用I/O引脚,也可以作为特殊功能口(如SCI、SPI、ECAN等), 非常灵活,用户根据需要,可以通过GPIO MUX(输入输出多路选择器,复用开关) 寄存器来进行相关配置,下边详细介绍GPIO的工作原理及其配置过程。
GPIO工作原理
F28335 DSP将这88个GPIO口分成了A、B、C三大组,A组包括GPIO0至 GPIO31,B组包括GPIO32至GPIO63,C组包括GPIO64至GPIO87,每个引脚都复用
与两者之间的交换接口,这样的交换接口若用来进行通用目的数字量的输入输出,就
被称为通用数字量输入/输出接口,简称GPIO。F28335 DSP有多达88个GPIO口,对 应着芯片引出的88个引脚,随着芯片的封装与尺寸的确定,引脚数目是有限的,所以
这88个引脚多数都是功能复用的,即可以灵活配置为输入引脚,也可以灵活配置为输
网站免费获取。
本书可作为DSP开发应用的入门级教材,也可作为其他 层次DSP开发应用人员的参考手册。
第七讲:通用数字量输入/输出(GPIO)
1、GPIO工作原理 2、GPIO寄存器 3、GPIO编程
4、基于F28335 GPIO的跑马灯实验
GPIO工作原理
外界二进制信息(数字量)要被CPU处理,要给存储器存放,就需要外界信息源
第七讲:通用数字量输入/输出(GPIO)
1、GPIO工作原、基于F28335 GPIO的跑马灯实验
基于F28335 GPIO的跑马灯实验
下面以实例为大家介绍:
本讲到此结束 感谢大家的收看
学习、使用中如遇任何问题,可与我们联系 嵌嵌论坛: 研旭旗舰店(天猫):
通过量化寄存器GPxQUAL对输入信号进行量化限制,从而可以消除数字量I/O引脚 的噪声干扰。此外,有下面4种方式对GPIO引脚进行读写操作:
GPIO工作原理
1、可以通过GPxDAT寄存器独立读/写I/O信号;
2、利用GPxSET寄存器写1(写0无效)对I/O口进行置位
3、利用GPxCLEAR寄存器写1(写0无效)对I/O口进行清零;
南京研旭电气科技有限公司
了多个功能,同一时刻,每个引脚只能用该引脚的一个功能。究竟工作在哪个模式
下,可以通过GPIO Mux(复用开关)寄存器配置每个引脚的具体功能(通用数字 量I/O或者外设专用功能)。如果将这些引脚选择数字量I/O模式,可以通过方向寄
存器GPxDIR配置数字量I/O的方向,即是作为输入引脚还是作为输出引脚;还可以
void GPIO_xint (void)
{ ELLOW; GpioCtrlRegs.GPBMUX2.bit.GPIO54 = 0; GpioCtrlRegs.GPBMUX2.bit.GPIO55 = 0; GpioCtrlRegs.GPBMUX2.bit.GPIO56 = 0; GpioCtrlRegs.GPBMUX2.bit.GPIO57 = 0; GpioCtrlRegs.GPBDIR.bit.GPIO54 = 0; GpioCtrlRegs.GPBDIR.bit.GPIO55 = 0; GpioCtrlRegs.GPBDIR.bit.GPIO56 = 0; GpioCtrlRegs.GPBDIR.bit.GPIO57 = 0; GpioCtrlRegs.GPBQSEL2.bit.GPIO54= 0; GpioCtrlRegs.GPBQSEL2.bit.GPIO55= 0; GpioCtrlRegs.GPBQSEL2.bit.GPIO56= 0; GpioCtrlRegs.GPBQSEL2.bit.GPIO57= 0; GpioIntRegs.GPIOXINT3SEL.bit.GPIOSEL = 54;GpioIntRegs.GPIOXINT4SEL.bit.GPIOSEL = 55; GpioIntRegs.GPIOXINT5SEL.bit.GPIOSEL = 56; GpioIntRegs.GPIOXINT6SEL.bit.GPIOSEL = 57; XIntruptRegs.XINT3CR.bit.POLARITY= 0; XIntruptRegs.XINT4CR.bit.POLARITY= 0; XIntruptRegs.XINT5CR.bit.POLARITY= 0; XIntruptRegs.XINT6CR.bit.POLARITY= 0; XIntruptRegs.XINT3CR.bit.ENABLE = 1; XIntruptRegs.XINT4CR.bit.ENABLE = 1; XIntruptRegs.XINT5CR.bit.ENABLE = 1; XIntruptRegs.XINT6CR.bit.ENABLE = 1; EDIS; }
GPIO寄存器
名 称 GPACTRL GPAQSEL1 GPAQSEL2 GPAMUX1 GPAMUX2 GPIOADIR GPIOAPUD GPBCTRL GPBQSEL1 GPBQSEL2 GPBMUX1 GPBMUX2 GPBDIR GPBPUD GPCMUX1 GPCMUX2 GPCDIR GPCPUD GPIOXINT1SEL GPIOXINT2SEL GPIONMISEL GPIOXINT3SEL GPIOXINT4SEL GPIOXINT5SEL GPIOXINT6SEL GPIOXINT7SEL GPIOLPMSEL 地 址 0X6F80 0X6F82 0X6F84 0X6F86 0X6F88 0X6F8A 0X6F8C 0X6F90 0X6F92 0X6F94 0X6F96 0X6F98 0X6F9A 0X6F9C 0X6FA6 0X6FA8 0X6FAA 0X6FAC 0X6FE0 0X6FE1 0X6FE2 0X6FE3 0X6FE4 0X6FE5 0X6FE6 0X6FE7 0X6FE8 空间地址 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 描 述 GPIOA控制寄存器 GPIOA量化控制寄存器1 GPIOA量化控制寄存器2 GPIOA选择寄存器1 GPIOA选择寄存器2 GPIOA方向寄存器 GPIOA上拉禁止寄存器 GPIOB控制寄存器 GPIOB量化控制寄存器1 GPIOB量化控制寄存器2 GPIOB选择寄存器1 GPIOB选择寄存器2 GPIOB方向寄存器 GPIOB上拉禁止寄存器 GPIOC 选择寄存器1 GPIOC 选择寄存器2 GPIOC 方向寄存器 GPIOC 上拉禁止寄存器 外部中断源选择寄存器1 外部中断源选择寄存器2 不可屏蔽中断源选择寄存器 外部中断源选择寄存器3 外部中断源选择寄存器4 外部中断源选择寄存器5 外部中断源选择寄存器6 外部中断源选择寄存器7 唤醒低功耗模式源选择寄存器
GPIO编程应用
F28335一共有88个GPIO,分为3组,分别是A、B、C。其中A组GPIO可以通过软件配置为外部中 断1、2以及NMI功能,B组GPIO可以通过软件配置为外部中断3、4、5、6、7功能。而C组的GPIO不能 配置为中断功能。如果将某GPIO配置为外部中断功能,那么下面是设置步骤: 1. 将数字量I/O配置为GPIO功能; 2. 将数字量I/O配置为输入方向; 3. 将数字量I/O量化配置正确; 4. 利用外部中断选择寄存器选择相应的引脚为外部中断源; 5. 为此GPIO触发信号设置极性,上升沿、下降沿或者双边沿;
第七讲:通用数字量输入/输出(GPIO)
1、GPIO工作原理 2、GPIO寄存器 3、GPIO编程应用
相关文档
最新文档