精华内容
下载资源
问答
  • 2020-08-18 09:34:15

    引脚设置为上拉输入与下拉输入
    按键输入实验中,引脚为输入,按键1默认条件下高电平按下后低电平----设置为上拉输入;


    那么什么时候采用浮空输入呢?
    答:多用于按键输入,IO状态是不确定的,完全由外部输入决定。


    引脚设置为高电平:
    跑马灯实验中,引脚为输出,设置为低电平,左低右高,二极管导通,点亮LED。
    在这里插入图片描述


    注意区分上拉和高电平。

    更多相关内容
  • 目录1、输入模式(上拉/下拉)详细...上拉和下拉输入很好理解,默认的电平由上拉或者下拉决定。 2、输入模式实现按键控制 1、如何判断按键变化? KEY_UP按下管脚输入高电平 KEY0、KEY1按下管脚输入低电平 因此KEY_UP


    在这里插入图片描述

    1、输入模式(上拉/下拉)详细说明

    在输入模式时,施密特触发器打开,输出被禁止。可通过输入数据寄存器 GPIOx_IDR 读取 I/O 状态。输入模式可以配置为模拟、上拉、下拉以及浮空模 式。上拉和下拉输入很好理解,默认的电平由上拉或者下拉决定。

    2、输入模式实现按键控制

    1、如何判断按键变化?

    在这里插入图片描述
    在这里插入图片描述

    在这里插入图片描述
    KEY_UP按下管脚输入高电平
    KEY0、KEY1按下管脚输入低电平
    因此KEY_UP我们采用下拉输入,此时管脚电平默认输入是低电平,当我们按下KEY_UP时,管脚电平将输入高电平
    KEY0、KEY1我们采用上拉输入,此时管脚电平默认输入是高电平,当我们按下KEY0、KEY1时,管脚电平将输入低电平
    通过检测按键电平变化实现按键监测

    2、按键监测函数

    如何配置GPIO初始化函数学习笔记(1)
    需要使用到位带操作,见学习笔记(2)

    void KEY_Init(void)
    {
    	GPIO_InitTypeDef GPIO_InitStructure; //定义结构体变量	
    	RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|RCC_APB2Periph_GPIOE,ENABLE);
    	
    	GPIO_InitStructure.GPIO_Pin=GPIO_Pin_0;	   //选择你要设置的IO口
    	GPIO_InitStructure.GPIO_Mode=GPIO_Mode_IPD;//下拉输入  
    	GPIO_Init(GPIOA,&GPIO_InitStructure);		  /* 初始化GPIO */
    	
    	GPIO_InitStructure.GPIO_Pin=GPIO_Pin_3|GPIO_Pin_4;
    	GPIO_InitStructure.GPIO_Mode=GPIO_Mode_IPU;	//上拉输入
    	GPIO_Init(GPIOA,&GPIO_InitStructure);
    }
    void delay_ms(unsigned long i)//大约1ms延时函数,
    {
    	
    	while(i--);
    }
    unsigned char readkey()
    {
      unsigned char value;
      if(PAin(0)==1|PEin(4)==0|PEin(3)==0)//有键按下
      {
        delay_ms(60000);
        if(PAin(0)==1|PEin(4)==0==0|PEin(3)==0)
        {
          if(PAin(0)==1)
    			value=2; 
    		  else if(PEin(4)==0)
    			value=0; 
    		  else if(PEin(3)==0)
    			value=1;
        }
      }
      else if(PAin(0)==0&&PEin(4)==1&&PEin(3)==1)    //无按键按下
    		value=3;
    		return value;
    }
    
    展开全文
  • GPIO处于输入模式下,下拉输入和上拉输入的相关配置如下图所示。需要注意的是,下拉输入和上拉输入是通过端口输出寄存器GPIOx_ODR来区分的。因此,在进行上拉/下拉输入配置时候,虽然对GPIO进行的关于输入的操作,...

    转载自https://blog.csdn.net/lbsgrowup/article/details/47619471

    GPIO处于输入模式下,下拉输入和上拉输入的相关配置如下图所示。需要注意的是,下拉输入和上拉输入是通过端口输出寄存器GPIOx_ODR来区分的。因此,在进行上拉/下拉输入配置时候,虽然对GPIO进行的关于输入的操作,但是仍要对和输出相关的寄存器ODR进行配置。

    上述注意事项在实际代码编写时表现为:

    (1)库函数
    GPIO_InitStructure.GPIO_Pin  = GPIO_Pin_0;  //PA0   
    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPD; //PA0 下拉输入  
    GPIO_Init(GPIOA, &GPIO_InitStructure);
    GPIO_ResetBits(GPIOA,GPIO_Pin_0);        //PA0 下拉 ODR=0<strong>
    </strong>


    特此说明,虽然GPIO_Mode中区分了上拉输入模式GPIO_Mode_IPU和下拉输入模式GPIO_Mode_IPD,如下图所示,但是在GPIO初始化配置时候仍然需要对ODR寄存器进行设置,如上述的GPIO_ResetBits(GPIOA,GPIO_Pin_0);操作。

    (2)寄存器
    GPIOA->CRL&=0XFFFFFFF0;    //PA0 清除之前设置  
    GPIOA->CRL|=0X00000008;    //PA0 输入   
    GPIOA->ODR|=0<<0;        //PA0 下拉<strong>
    </strong>


    此外,GPIO处于输入模式下,不需要对MODE1和MODE0进行设置(初始化之后默认为00)

    输出模式位(仅在输出模式下配置,输入模式下不需要)

    输出模式位(仅在输出模式下配置,输入模式下不需要)
    ————————————————
    版权声明:本文为CSDN博主「变速风声」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/lbsgrowup/article/details/47619471

    展开全文
  • GPIO处于输入模式下,下拉输入和上拉输入的相关配置如下图所示。需要注意的是,下拉输入和上拉输入是通过端口输出寄存器GPIOx_ODR来区分的。因此,在进行上拉/下拉输入配置时候,虽然对GPIO进行的关于输入的操作,...

    有个项目要求判断STM32某个按键输入状态,经常出现不稳定的现象,网上查了下,原来需要设置成上拉模式并且要把输入脚输出为高电平,原文如下:


    GPIO处于输入模式下,下拉输入和上拉输入的相关配置如下图所示。需要注意的是,下拉输入和上拉输入是通过端口输出寄存器GPIOx_ODR来区分的。因此,在进行上拉/下拉输入配置时候,虽然对GPIO进行的关于输入的操作,但是仍要对和输出相关的寄存器ODR进行配置。


    上述注意事项在实际代码编写时表现为:

    (1)库函数

    [cpp]  view plain  copy
    1. GPIO_InitStructure.GPIO_Pin  = GPIO_Pin_0;  //PA0     
    2. GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPD; //PA0 下拉输入    
    3. GPIO_Init(GPIOA, &GPIO_InitStructure);  
    4. GPIO_ResetBits(GPIOA,GPIO_Pin_0);       //PA0 下拉 ODR=0<strong>  
    5. </strong>  

    特此说明,虽然GPIO_Mode中区分了上拉输入模式GPIO_Mode_IPU和下拉输入模式GPIO_Mode_IPD,如下图所示,但是在GPIO初始化配置时候仍然需要对ODR寄存器进行设置,如上述的GPIO_ResetBits(GPIOA,GPIO_Pin_0);操作。


    (2)寄存器

    [cpp]  view plain  copy
    1. GPIOA->CRL&=0XFFFFFFF0;  //PA0 清除之前设置    
    2. GPIOA->CRL|=0X00000008;  //PA0 输入     
    3. GPIOA->ODR|=0<<0;      //PA0 下拉<strong>  
    4. </strong>  


    此外,GPIO处于输入模式下,不需要对MODE1和MODE0进行设置(初始化之后默认为00)

    输出模式位(仅在输出模式下配置,输入模式下不需要)

    输出模式位(仅在输出模式下配置,输入模式下不需要)



    原贴:http://blog.csdn.net/lbsgrowup/article/details/47619471

    展开全文
  • STM32I/O口配置上拉下拉输入寄存器版

    千次阅读 2021-01-24 21:22:06
    STM32I/O口配置上拉下拉输入寄存器版 前面说了GPIO_CRL/CRH为I/O口的配置寄存器 通过查询数据手册我们可以明显看出只需要对CNFy和MODEy相应位写0或1即可配置I/O口的工作方式 0000为模拟输入、0100为浮空输入、...
  • STM32设置IO口输入上拉下拉

    千次阅读 多人点赞 2020-05-01 20:37:03
    WK_UP按键按下时将高电平信号输入给STM32的IO,即高电平有效;不被按下时,由于干扰,可能高也可能是低信号输入。 KEY0按键按下时将低信号输入给STM32的IO,即低电平有效;不被按下时,由于干扰,可能高也可能是低...
  • **2、下拉输入:**就是把电压拉低,拉到GND。与上拉原理相似。 **3、浮空输入:**浮空(floating)就是逻辑器件的输入引脚即不接高电平,也不接低电平。由于逻辑器件的内部结构,当它输入引脚悬空时,相当于该引脚接...
  • 问题引出:在正点原子的“输入捕获试验”中,目的是捕获高电平的持续时间,也就是...但是在历程代码里把PA0配置为下拉输入。结果:配置为下拉输入,程序正常运行;配置为浮空输入,程序无法运行。 疑问解答: 我们...
  • 关于上拉输入、下拉输入、模拟输入、浮空输入、推挽输出、开漏输出、复用输出的区别 1、上拉输入:上拉就是把电位拉高,比如拉到Vcc。上拉就是将不确定的信号通过一个电阻嵌位在高电平!电阻同时起限流作用!弱强...
  • (3)GPIO_Mode_IPD 下拉输入 (4)GPIO_Mode_IPU 上拉输入 (5)GPIO_Mode_Out_OD 开漏输出 (6)GPIO_Mode_Out_PP 推挽输出 (7)GPIO_Mode_AF_OD 复用开漏输出 (8)GPIO_Mode_AF_PP 复用推挽输出
  • 判断上拉输入和下拉输入

    万次阅读 多人点赞 2019-05-21 16:45:25
    当一个按键按下的时候,对应的引脚输入数据是0或1是不确定的,还要看外部电路的组成是上拉还是下拉,当外部电路时上拉的时候,即外部接正的时候,读入的数据是1;当外部电路是下拉的时候,读入的数据是0. 上拉例子...
  • stm32按键上拉或者下拉输入的设置

    千次阅读 2021-07-20 08:27:28
    当K=1表示按下时,均采用下拉输入(不接信号时是低电平,用来检测是否有高电平信号输入); 相反则上拉;
  • 单片机IO口输入模式

    2022-01-22 16:04:16
    像STM32单片机有:模拟输入、浮空输入(随机状态可能0可能1)、上拉输入、下拉输入、 像STC单片机有:准双向口,高阻输入(随机状态可能0可能1) 在实际控制电路当中,一般将输入引脚引导至已知状态。如果是作为...
  • 以及上拉输入、下拉输入、浮空输入、模拟输入的区别 最近在看数据手册的时候,发现在Cortex-M3里,对于GPIO的配置种类有8种之多: (1)GPIO_Mode_AIN 模拟输入 (2)GPIO_Mode_IN_FLOATING 浮空输入 (3)GPIO_...
  • 上拉、下拉以及对应上拉电阻和下拉电阻的作用原理 一、什么是上拉和下拉电路 上拉(Pull Up )或下拉(Pull Down)电阻两者统称为拉电阻 上拉就是单片机的IO口串联一个电阻到VDD; 下拉就是单片机的IO口串联一个...
  • 最近在看数据手册的时候,发现在Cortex-M3里,对于GPIO的配置种类有8种之多:(1)GPIO_Mode_AIN 模拟输入(2)GPIO_Mode_IN_FLOATING 浮空输入(3)GPIO_Mode_IPD 下拉输入(4)GPIO_Mode_IPU 上拉输入(5)GPIO_...
  • GPIO 上拉输入 下拉输入 区别

    千次阅读 2017-05-04 10:02:00
    下拉输入 是在没有信号输入时 ( GPIO x , GPIO_Pin_ y ) 状态为  0 , 上拉输入 时与其相反。              PS:自用的 不做解释 作者:一个吃货帅锅 转载...
  • STM32F4中GPIO_PuPd寄存器设置上拉与下拉问题 首先 上下拉 是给IO一个默认的状态 比如控制EN的话,那么高有效的我们就下拉,低有效的话...上拉就是输入高电平,然后接一个上拉电阻(起保护作用),知道上拉就表示...
  • GPIO输入模式 ·上拉输入 VDD所在上拉电阻开关闭合,下拉电阻的开关断开。 在默认为输入的情况下,VDD和O点的电平都为高电平。输入高电平时,因为O点和VDD之间没有电势差,所以无法确认是否输入;输入低电平时,...
  • STM32的IO口模式配置即GPIO口的设定

    千次阅读 2019-10-10 10:39:30
    四种输入模式 上拉输入:通过内部的上拉电阻将一个不确定的信号通过一个电阻拉到高电平。 下拉输入:把电压拉到GND。与上拉原理相似。 浮空输入:引脚内部什么都不接,处于浮空模式下,电平状态是不确定的。外部...
  • GPIO输入输出模式原理(八种工作方式附电路图详解)

    万次阅读 多人点赞 2021-07-05 14:20:50
    浮空输入模式 上拉输入模式 下拉输入模式 模拟输入模式 开漏输出模式 开漏复用输出模式 推挽输出模式 推挽复用输出模式
  • 根据实际需求PA0配置PA0的模式 输入模式 上/下拉电阻 IC2连接CH1,下降沿捕获 复位模式,选择TRGI触发源选择TI1PF1 PC13控制LED灯,用杜邦线连接PA0与PC13,捕获LED的亮灭时间 复位模式会产生更新事件,根据URS位来...
  • 关于上拉输入、下拉输入、模拟输入、浮空输入、推挽输出、开漏输出、复用输出的区别 1、上拉输入:上拉就是把电位拉高,比如拉到Vcc。上拉就是将不确定的信号通过一个电阻嵌位在高电平!电阻同时起限流作用!弱强...
  • Arduino 作为数字输入引脚模式:INPUT和INPUT_PULLUP差异
  • 目录前言GPIO是什么GPIO的八大模式输入模式上拉输入下拉输入模拟输入模拟输入输出模式开漏输出推挽输出复用开漏输出复用推完输出 前言 学习了这么久的单片机,说来羞愧,直到写这篇文章之前,我都没有仔细去理解GPIO...
  • 上拉输入和下拉输入 上拉就是将不确定的信号通过一个电阻钳位在高电平,电阻同时起限流作用。下拉同理,也是将不确定的信号通过一个电阻钳位在低电平。如果没有上拉/下拉电阻,在没有外界输入的情况下输入端是悬空的...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 72,351
精华内容 28,940
关键字:

下拉输入模式