首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

STM32 GPIO寄存器电平输入

STM32是一款由STMicroelectronics开发的32位微控制器系列,广泛应用于嵌入式系统开发。GPIO(General Purpose Input/Output)是STM32微控制器上的一组通用输入输出引脚,用于与外部设备进行数字信号的交互。

GPIO寄存器是STM32微控制器中用于控制GPIO引脚的寄存器。在STM32中,每个GPIO引脚都有对应的寄存器用于配置和控制其工作模式、电平输入输出等。

电平输入是指GPIO引脚接收外部信号的状态,可以是高电平(1)或低电平(0)。STM32的GPIO寄存器可以配置引脚为输入模式,以读取外部信号的电平状态。

优势:

  1. 灵活性:GPIO寄存器可以根据需求配置引脚的工作模式,包括输入、输出、模拟等多种模式,提供了灵活的引脚控制能力。
  2. 高性能:STM32微控制器具有高性能的处理能力和丰富的外设资源,可以满足复杂的嵌入式系统需求。
  3. 低功耗:STM32微控制器采用先进的低功耗技术,可以在嵌入式系统中实现低功耗运行。

应用场景:

  1. 嵌入式系统开发:STM32的GPIO寄存器可以用于连接和控制各种外部设备,如传感器、执行器、显示器等,广泛应用于嵌入式系统开发领域。
  2. 自动化控制:GPIO寄存器可以用于控制各种开关、继电器等设备,实现自动化控制系统。
  3. 电子设备接口:GPIO寄存器可以用于与其他电子设备进行数字信号的交互,如与传感器、通信模块等进行数据传输。

推荐的腾讯云相关产品和产品介绍链接地址: 腾讯云提供了丰富的云计算产品和服务,以下是一些与嵌入式系统开发相关的产品:

  1. 云服务器(ECS):提供可扩展的虚拟服务器,适用于搭建嵌入式系统开发环境。详情请参考:https://cloud.tencent.com/product/cvm
  2. 云数据库MySQL版(CDB):提供高性能、可扩展的云数据库服务,适用于嵌入式系统中的数据存储需求。详情请参考:https://cloud.tencent.com/product/cdb_mysql
  3. 物联网通信(IoT Hub):提供稳定可靠的物联网通信服务,适用于嵌入式系统与云端的数据传输和控制。详情请参考:https://cloud.tencent.com/product/iothub
  4. 人工智能(AI):提供丰富的人工智能服务,如语音识别、图像识别等,可应用于嵌入式系统中的智能交互。详情请参考:https://cloud.tencent.com/product/ai

请注意,以上链接仅供参考,具体产品选择应根据实际需求进行评估和决策。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

STM32GPIO输入—按键检测

参考文献 点此下载完整工程文件 2.1硬件设计 弹性按键机械触点断开、闭合时,由于触点的弹性作用,按键开关不会马上稳定接通或一 下子断开,使用按键时会产生如图带波纹信号,需要用软件消抖处理滤波,不方便输入检测...在“工程模板”之上新建“bsp_key.c”及“bsp_key.h”文件,这些文件也可根 据您的喜好命名,这些文件不属于 STM32标准库的内容,是由我们自己根据应用需要编写 的。...2.2.1编程要点 使能 GPIO端口时钟; 初始化 GPIO目标引脚为输入模式(引脚默认电平受按键电路影响,浮空/上拉/下拉均没有区别); 编写简单测试程序,检测按键的状态,实现按键控制 LED灯。...= GPIO_Pin_3|GPIO_Pin_4; //KEY2 KEY3对应引脚 GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN; //普通输入模式...参考文献 【1】:《零死角玩转 STM32—基于野火 F407[霸天虎]开发板 》 【2】:郭天祥.新概念51单片机C语言教程:如门、提高、开发、拓展全攻略[M].北京:电子工业出版社,2018.1:

89820

stm32学习笔记之GPIO功能框图分析

GPIO 是通用输入输出端口的简称,简单来说就是STM32 可控制的引脚,STM32 芯片的GPIO 引脚与外部设备连接起来,从而实现与外部通讯、控制以及数据采集的功能。...最基本的输入功能是检测外部输入电平,如把GPIO 引脚连接到按键,通过电平高低区分按键是否被按下。   ...输出数据寄存器   前面提到的双MOS 管结构电路的输入信号, 是由GPIO“ 输出数据寄存器GPIOx_ODR”提供的,因此我们通过修改输出数据寄存器的值就可以修改GPIO 引脚的输出电平。...“输入数据寄存器GPIOx_IDR”中,通过读取该寄存器就可以了解GPIO引脚的电平状态。   ...复用功能输入   与“复用功能输出”模式类似,在“复用功能输入模式”时,GPIO引脚的信号传输到   STM32 其它片上外设,由该外设读取引脚状态。

1.4K20

GPIO基本知识

GPIO是通用输入/输出端口的简称,是STM32可控制的引脚。GPIO的引脚与外部硬件设备连接,可实现与外部通讯、控制外部硬件或者采集外部硬件数据的功能。那STM32引脚是如何分类的?...可以通过软件控制其输出和输入stm32芯片的GPIO引脚与外部设备连接起来,GPIO既然一个引脚可以用于输入、输出或其他特殊功能,那么一定有寄存器用来选择这些功能。...(4)、输出数据寄存器双 MOS 管结构电路的输入信号,是由 GPIO“输出数据寄存器GPIOx_ODR”提供的,因此我们通过修改输出数据寄存器的值就可以修改 GPIO 引脚的输出电平。...(5)、复用功能输出由于 STM32GPIO 引脚具有第二功能,因此当使用复用功能的时候,也就是通过其他外设复用功能输出信号与 GPIO 数据寄存器一起连接到双 MOS 管电路的输入,其中梯形结构是用来选择使用复用功能还是普通...GPIO相关寄存器六、在stm32中选用io模式(1) 浮空输入_IN_FLOATING ——浮空输入,可以做KEY识别,RX1(2)带上拉输入_IPU——IO内部上拉电阻输入(3)带下拉输入_IPD—

99630

STM32 GPIO的原理、特性、选型和配置

目录 1、基本结构 2、4种输入模式 3、4种输出模式 4、GPIO选型和配置 ---- 1、基本结构 STM32 GPIO是通用输入/输出端口的英文简称,其可实现输入、输出、驱动、通信等功能,STM32...或字节(8位)进行访问,具体模式如下所示: 浮空输入 上拉输入 下拉输入 模拟输入 开漏输出 推挽输出 复用功能推挽输出 复用功能开漏输出 以STM32L011为例(其他STM32处理器大同小异),GPIO...3、P-MOS、N-MOS:单元电路使得GPIO具有“推挽输出”和“开漏输出”的功能。 2、4种输入模式 STM32具有浮空输入、上拉输入、下拉输入和模拟输入4种输入模式。...上拉输入模式,I/O端口悬空(在无信号输入)的情况下,电平状态保持在高电平,当输入电平时,电平状态是低电平,最终直接进入输入数据寄存器,如下图所示: ?...下拉输入模式,I/O端口悬空(在无信号输入)的情况下,电平状态保持在低电平,当输入电平时,电平状态是高电平,最终直接进入输入数据寄存器,如下图所示: ?

68321

STM32-GPIO模式+寄存器点灯

在该结构中输入电平时,经过反向后,上方的P-MOS 导通,下方的N-MOS 关闭,对外输出高电平;而在该结构中输入电平时,经过反向后,N-MOS 管导通,P-MOS 关闭,对外输出低电平。...上拉了 前面提到的双MOS 管结构电路的输入信号,是由GPIO“输出数据寄存器GPIOx_ODR”提供的,因此我们通过修改输出数据寄存器的值就可以修改GPIO 引脚的输出电平。...“输入数据寄存器GPIOx_IDR”中,通过读取该寄存器就可以了解GPIO 引脚的电平状态。...看,绕过了施密特触发器 GPIO就是输入和输出,复用,那么就是有如下的: 就是这样 输入(模拟/浮空/上拉/下拉): 在输入模式时,施密特触发器打开,输出被禁止,可通过输入数据寄存器GPIOx_IDR...为了一步到位,我们在这里直接操作ODR 寄存器来控制GPIO电平

64630

万字长文解读STM32-1

时钟中断寄存器是一类特殊的寄存器,用于配置 STM32 微控制器中的时钟中断。...弱上拉是指在输入端口(比如微控制器的GPIO口)上通过加入一个大约为10kΩ的电阻,从而使该输入端口与VCC(正电源)之间形成一个电阻分压网络,从而使输入端口的电压在没有外部信号的情况下趋向于高电平,即被上拉到...当刹车输入信号被触发时,定时器立即停止计数,并且输出保持在一个预定义的状态(例如输出低电平或高电平)。在应用中,刹车输入通常是由硬件电路(如电机控制器)提供的。...STM32定时器的刹车输入通常与定时器的输入捕获或输出比较功能结合使用。...STM32定时器的外部触发时钟输入可通过使用TIMx_ETR (外部触发器)引脚来实现。在应用中,可以选择使用外部触发器引脚(例如TIM1_ETR),然后使用寄存器配置定时器的触发模式和触发源。

1.2K41

STM32】HAL库 STM32CubeMX教程三—-外部中断(HAL库GPIO讲解)

引脚电平设置 高/低 GPIO mode GPIO模式 推挽输出/开漏输出 GPIO Pull-up/Pull-dowm 上拉下拉电阻 上拉电阻/下拉电阻/无上拉或下拉...); 功能:锁住引脚电平,比如说一个管脚的当前状态是1,当这个管脚电平变化时保持锁定时的值。...GPIO的相关配置寄存器 STM32的每组GPIO口包括7个寄存器。...这7个寄存器分别为: GPIOx_CRL:端口配置低寄存器(32位) GPIOx_CRH:端口配置高寄存器(32位) GPIOx_IDR:端口输入寄存器(32位) GPIOx_ODR:端口输出寄存器(32...STM32中文参考手册》中查看 关于GPIO的八种模式请参看 《STM32 GPIO八种模式及工作原理详解》 按键消抖: /** * 函数功能: 按键外部中断回调函数 * 输入参数: GPIO_Pin

1.4K10

STM32学习记录2】GPIO输入—按键检测

点此下载完整工程文件 2.1硬件设计 弹性按键机械触点断开、闭合时,由于触点的弹性作用,按键开关不会马上稳定接通或一 下子断开,使用按键时会产生如图带波纹信号,需要用软件消抖处理滤波,不方便输入检测...在“工程模板”之上新建“bsp_key.c”及“bsp_key.h”文件,这些文件也可根 据您的喜好命名,这些文件不属于 STM32标准库的内容,是由我们自己根据应用需要编写 的。...2.2.1编程要点 使能 GPIO端口时钟; 初始化 GPIO目标引脚为输入模式(引脚默认电平受按键电路影响,浮空/上拉/下拉均没有区别); 编写简单测试程序,检测按键的状态,实现按键控制 LED灯。...= GPIO_Pin_3|GPIO_Pin_4; //KEY2 KEY3对应引脚 GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN; //普通输入模式...参考文献 【1】:《零死角玩转 STM32—基于野火 F407[霸天虎]开发板 》 【2】:郭天祥.新概念51单片机C语言教程:如门、提高、开发、拓展全攻略[M].北京:电子工业出版社,2018.1:

86910

STM32F103学习笔记三 串口通信

STM32F103学习笔记三 串口通信 本文参照正点原子STM32F1xx官方资料:《STM32中文参考手册V10》-第25章通用同步异步收发器(USART) 及 【STM32】串口通信基本原理...经过电平转换后,芯片串口和rs232的电平标准是不一样的: 单片机的电平标准(TTL电平):+5V表示1,0V表示0; Rs232的电平标准:+15/+13 V表示1,-15/-13表示0。...芯片) 实现TTL电平与RS232电平之间的转换。...) 2.6、 串口通信过程 ① 数据接收过程 外部设备将数据发送到 串行输入移位寄存器,串行输入移位寄存器在将数据传送到输入数据缓冲器,MCU在从输入数据缓冲器中读出数据 ② 数据发送过程...;//浮空输入 GPIO_Init(GPIOA, &GPIO_InitStructure);//初始化GPIOA.10 //Usart1 NVIC 配置 NVIC_InitStructure.NVIC_IRQChannel

1.7K10

单片机STM32学习笔记之寄存器映射详解

GPIO 外设为例,GPIO是通用输入输出端口的简称,简单来说就是STM32 可控制的引脚,基本功能是控制引脚输出高电平或者低电平。...最简单的应用就是把GPIO 的引脚连接到LED 灯的阴极,LED 灯的阳极接电源,然后通过STM32 控制该引脚的电平,从而实现控制LED 灯的亮灭。   ...而有的寄存器位只读,一般是用于表示STM32 外设的某种工作状态的,由STM32硬件自动更改,程序通过读取那些寄存器位来判断外设的工作状态。   ...同样,读寄存器也是用取指针操作,把寄存器中的数据取到变量里,从而获取STM32 外设的状态。   2....这样的地址偏移与STM32 GPIO 外设定义的寄存器地址偏移一一对应,只要给结构体设置好首地址,就能把结构体内成员的地址确定下来,然后就能以结构体的形式访问寄存器

1.9K50

STM32F103系列开发_点亮LED灯

目前STM32开发方式主要由3种:寄存器、标准库、HAL 库。...点亮LED灯,需要控制STM32GPIO口输出指定的电平,STM32GPIO口编程步骤分为: 开时钟 配置GPIO口模式 控制GPIO口输出 中文参考手册里的第6章和第8章分别介绍了时钟寄存器GPIO...GPIO口模式配置寄存器有两个:CRL和CRH,一个IO口由4个二进制位表示,STM32是32位的MCU,一个寄存器是32位,GPIO口分为GPIOA,GPIOB,GPIOC等很多组,每一组的GPIO口的数量是...如果GPIO口作为普通的输出,一般配置位置推挽输出,如果作为按键这种输入检测硬件,一般配置为上下拉输入。如果需要使用GPIO口内置的功能输出,就配置为复用功能推挽输出。...配置LED灯对应的GPIO口示例代码: /* 函数功能: LED初始化 硬件连接: PB6 PB7 PB8 PB9 特性: 低电平点亮 */ void LED_Init(void) { //开时钟

9400

Linux嵌入式开发 | 汇编驱动LED(1)

STM32 对于STM32的部分我们不会进行详细的介绍,有兴趣的同学可以去看我的STM32笔记。...,我们先找到寄存器IOMUXC_SW_MUX_CTL_PAD_GPIO1_IO03的介绍,然后看一下,如果我们需要复用为GPIO3的话,我们就应该将MUX_MODE设置为5,也就是将寄存器的bit3~0...配置GPIO 接下来我们可以去找到寄存器IOMUXC_SW_PAD_CTL_PAD_GPIO1_IO03的介绍,这个寄存器主要是用来设置GPIO1_IO03的电气属性的,包括压摆率、速度、驱动能力、开漏...如果需要对输入波形进行整形的话可以使能此位。此位为 0 的时候禁止迟滞比较器,为 1 的时候使能迟滞比较器。 配置GPIO功能 与32不同的是,我们还需要进行配置GPIO功能,设置输入输出。...设置GPIO1_DR寄存器bit3为1,也就是设置为输出模式。设置GPIO1_DR寄存器的bit3,为1表示输出高电平,为0表示输出低电平

2.2K10

详细介绍如何读懂STM32开发板电路原理图以及芯片文档和开发手册,并编写一个测试程序:点亮一个LED灯「建议收藏」

(图1.3) 所以如果我们想要让LED灯亮起,首先要经过连接在LED上的二极管,所以我们要让该二极管工作,从输入源里输入一个低电平,即可让二极管的负极一端引脚工作,相反输入电平则二极管的负极一端不会产生任何作用...(图2.5) 接了两个是因为一个对应输入一个对应输出,GPIO是属于I/O引脚! 其次还有上拉下拉电阻,用于矫正电平! (图2.6) 为什么有了保护二极管还需要上拉下拉电阻?...答:PC寄存器有8个bit位,有GPIO端口C的I/P管脚来控制,那么GPIO端口C总共有8个管脚对应着,GPIO端口向PC寄存器写入某个电平值都会改变LED芯片工作。...并且通过介绍可以看到: (图5.8) 设置寄存器的第1:0个bit位来确定GPIO输入输出状态!...GPIO端口通用电路:常规输入输出 那么如果想要让灯亮起来的话需要向LED模块发送一个低电平(根据极性),所以我们只需要向BSRR寄存器的高位+PC偏移量写入一个高电平,那么GPIO端口就会向LED模块的对应位发送一个低电平

1.9K51

STM32新手入门教程

ST-Link烧写 ST-Link仿真 点亮LED灯 GPIO简介 GPIO配置 GPIO电平输出 程序编写 闪烁LED灯 程序编写 实验结果 STM32简介 简介参考自:小马哥STM32四轴学习平台–....…)都对应有寄存器来对他控制。 所以STM32可以用寄存器开发也可以用库开发。 STM的选型 STM32是ST的所有产品的统称,ST有两大家族STM8和STM32。...点亮LED灯 GPIO简介 参考自:【STM32开发】STM32 GPIO配置 GPI0是通用输入输出端口的简称,从名字上也可看出GPIO最基本的功能就输入和输出。...GPI0基本功能是输入和输出,但是STM32本身就是一个很复杂的系统,内部外设繁多,那么GPIO的基本功能是肯定满足不了这么多外设的需求,芯片厂商为了解决此问题,将GPI0分为八种模式(输入4种+输出4...八种模式分别为: 输入浮空 GPIO_Mode_IN_FLOATING 输入上拉 GPIO_Mode_IPU 输入下拉 GPIO_Mode_IPD 模拟输入 GPIO_Mode_AIN

1.8K30

STM32寄存器讲解

GPIO 外设为例,GPIO是通用输入输出端口的简称,简单来说就是 STM32 可控制的引脚,基本功能是控制引脚输出高电平或者低电平。...最简单的应用就是把 GPIO 的引脚连接到 LED 灯的阴极,LED 灯的阳极接电源,然后通过 STM32控制该引脚的电平,从而实现控制 LED 灯的亮灭。...而有的寄存器位只读,一般是用于表示 STM32 外设的某种工作状态的,由 STM32硬件自动更改,程序通过读取那些寄存器位来判断外设的工作状态。...地址偏移: 0x04 */ uint32_t IDR; /*GPIO 数据输入寄存器 地址偏移: 0x08 */ uint32_t ODR; /*GPIO 数据输出寄存器 地址偏移: 0x0C *...这样的地址偏移与 STM32 GPIO 外设定义的寄存器地址偏移一一对应,只要给结构体设置好首地址,就能把结构体内成员的地址确定下来,然后就能以结构体的形式访问寄存器

1.5K21

【i.MX6ULL】驱动开发3——GPIO寄存器配置原理

对比STM32的点灯程序,有寄存器操作与库函数操作两种,但其本质都是在配置寄存器。...④ GPIO外设:GPIO模块是每个IO都具有的外设, 它是IO控制的基本功能, 如输出高低电平、 检测电平输入等。...其左侧是一系列信号通道及控制线: input_on控制输入开关 Dir 控制引脚的输入输出方向 Data_out 控制引脚输出高低电平 Data_in 作为信号输入 这些信号都经过一个IOMUX器件连接到左侧的寄存器...当 GPIO被配置为输入模式后,此寄存器就保存着对应IO的电平值,每个位对对应一个GPIO,例如,当GPIO5_IO03这个引脚接地的话,那么 GPIO5.DR 的bit3就是0。...注意它是一个只读寄存器,每个IO对应一个位,读取相应的位即可获取对应的GPIO的状(高低电平值),功能和输入状态下的DR寄存器一样。

1.1K31

GPIO 软件框架

GPIO 八种工作模式详解 接着上一篇的讲,我们上一篇研究了 GPIO 的硬件结构,其来源于 STM32 官方手册,研究了 GPIO 的八种工作模式和推挽输出及开漏输出原理,接下来我们研究 GPIO 的软件部分...④、最后设置 GPIO 输出高电平或者低电平STM32GPIO 初始化就是以上四步,使用库函数操作 GPIO 还是很简单的。...2、嵌入式 Linux 平台 先总结一句:不管是单片机还是高端 ARM 平台,最底层都是寄存器,硬件之上就是寄存器,任何封装形式到最底层就是操作寄存器。...上面这句话很重要,我详细解释一下:这里是将 pin 脚和控制 IO 口输入输出分离。 pinctrl 子系统管理 200 个 IO 口的上拉下拉电阻,电流驱动能力,是硬件底层的存在。...如果 pinctrl 将某个 pin 脚初始化成了普通 GPIO 而不是 IIC 或者 SPI,那么接下来我们就可以使用 gpio 子系统的 API 去操作 IO 口输出高低电平

97720

【Linux笔记】LED驱动

STM32点灯的时候,一般输出低电平点灯,输出高电平灭灯。在嵌入Linux操作系统的情况下,我们自然也要想到有个写1/0的思想。类比我们上一篇的hello程序: ?...与STM32一样,对于i.MX 6ULL的GPIO外设来说,也有很多寄存器: ? 上面我们只是点一个灯,如果是要点多个灯呢?那就得操控多个GPIO。...回想一下我们STM32GPIO外设通过结构体来管理它的寄存器: ? 这里的__IO是个宏,代表C语言的关键字volatile ,为了防止编译器对我们的一些硬件操作进行优化,从而得不到想要的结果。...在这里,我们也可以模仿STM32那样子,用一个结构体来对i.MX 6ULL的GPIO寄存器进行管理,如: struct GPIO_RegDef { volatile unsigned int DR...)); 然后就可以向STM32那样来操控GPIO寄存器,如: GPIO5->DR &= ~(1 << 3); /* GPIO5_IO03输出低电平 */ GPIO5->DR |= (1 << 3);

8.6K32

STM32(七)------- PWM输出

STM32的PWM STM32 的定时器除了 TIM6 和 7。其他的定时器都可以用来产生 PWM 输出。其中高级定时器 TIM1 和 TIM8 可以同时产生多达 7 路的 PWM 输出。...OCx的极性可以通过软件在TIMx_CCER寄存器中的CCxP位设置,它可以设置为高电平有效或低电平有效。...通道可用于输入(捕获模式)或输出(比较模式),通道的方向由相应的CCxS定义。该寄存器其它位的作用在输入和输出模式下不同。OCxx描述了通道在输出模式下的功能,ICxx描述了通道在输出模式下的功能。...捕获/比较使能寄存器(TIMx_CCER) 该寄存器比较简单,我们这里只用到了 CC2E 位,该位是输入/捕获 2 输出使能位,要想PWM 从 IO 口输出,这个位必须设置为 1,所以我们需要设置该位为...ARR为自动重载寄存器,CCR为捕获/比较寄存器,CNT就是定时器的计数器,CNT的值从0开始递增,使用PWM模式后,可以设置有效电平,以及PWM的模式。

1.1K20
领券