关于STM32 GPIO的上拉输入和下拉输入

作者&投稿:阳晴 (若有异议请与网页底部的电邮联系)
stm32上拉输入和下拉输入怎么用?~

用法很简单的,你按键是对地的肯定是要上拉输入了,下拉本来就基本是地了。
上拉电阻的目的是为了保证在无信号输入时输入端的电平为高电平。而在信号输入为低电平是输入端的电平应该也为低电平。
如果没有上拉电阻,在没有外界输入的情况下输入端是悬空的,它的电平是未知的无法保证的,上拉电阻就是为了保证无信号输入时输入端的电平为高电平,同样还有下拉电阻它是为了保证无信号输入时输入端的电平为低电平。

扩展资料:需要注意的是,下拉输入和上拉输入是通过端口输出寄存器GPIOx_ODR来区分的。因此,在进行上拉/下拉输入配置时候,虽然对GPIO进行的关于输入的操作,但是仍要对和输出相关的寄存器ODR进行配置。
上述注意事项在实际代码编写时表现为:
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

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

虽然GPIO_Mode中区分了上拉输入模式GPIO_Mode_IPU和下拉输入模式GPIO_Mode_IPD,如下图所示,但是在GPIO初始化配置时候仍然需要对ODR寄存器进行设置

首先说明下输入IO口上拉电阻和下拉电阻的作用: 在没有信号输入的时候,上拉电阻能使读取input值保持为高,而下拉电阻正是相反。有些传感器等元气件,他们的信号输出有效时候会输出一个高电平(或者低电平),无效时候不输出,为开路。此时我们就必须用上拉电阻(或下拉电阻)。
STM32使用USART串口,必须开启AFIO。
RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, ENABLE);

我猜你是只在软件仿真,没有用JLINK或STLINK这些在线仿真的吧,软件没有收到你仿真的对应IO电平变化,所以你观察寄存器只是观察到GPIO的寄存器的值。

需要在pins对应的引脚处打上勾代替实际按键按下。



上下拉只在IO口设为输入时起作用


南岳区15697324143: STM32的GPIO有几种输入模式及其说明 -
钮绍观通: 第一:浮空输入模式;在这张图上,阴影的部分处于不工作状态,尤其是下半部分的输出电路,实际上是与端口处于隔离状态. 黄色的高亮部分显示了数据传输通道,外部的电平信号通过左边编号1的I/O端口进入STM32,经过编号2的施密特触...

南岳区15697324143: stm32的输入在什么情况下配置为上拉输入,什么情况下为下拉输入??? -
钮绍观通: 你可以简单记住只有I2S时下拉输入,其它都是上拉输入.详细看手册GPIO配置,上面说的很情楚

南岳区15697324143: 关于STM32 GPIO的上拉输入和下拉输入 -
钮绍观通: 我猜你是只在软件仿真,没有用JLINK或STLINK这些在线仿真的吧,软件没有收到你仿真的对应IO电平变化,所以你观察寄存器只是观察到GPIO的寄存器的值. 需要在pins对应的引脚处打上勾代替实际按键按下.

南岳区15697324143: stm32按键程序设置设置成什么输入方式 -
钮绍观通: GPIO_Mode_IPU 上拉输入 就可以

南岳区15697324143: stm32读取io口电平 用什么输入方式 -
钮绍观通: 上拉输入、下拉输入、浮空输入都可以.根据硬件上的连接情况选择,若IO口外部已经有上或下拉电阻了,就选择浮空.否则,最好选择上下拉的一种.在这两种的选择上,一般会选择一个“安全的模式”也就是若你读到IO口为高电平(低电平)后,会执行某些操作,那么你就选择另一种下拉输入(上拉输入),这样容易在调试的时候发现问题.

南岳区15697324143: stm32 GPIO输入模式选择 -
钮绍观通: 可以查找数据手册中GPIO相关寄存器,正确设置后就可以选择,包括弱上拉的设置.是否会烧毁,需要查看数据手册上拉电阻的阻值,有说明的,结合你外部上拉或下拉电阻的阻值,再参看一下STM32的GPIO最大灌电流和最大拉电流就直到是否会被烧毁.

南岳区15697324143: stm32并口通信的话gpio怎么设置 -
钮绍观通: 看你 情况,可以设置为 悬空 或上下拉输入.如果设备是开漏输出,则需加电阻 或为上拉输入.

南岳区15697324143: GPIO 输入模式是什么意思 -
钮绍观通: *Input floating: 引脚悬空,就是没有上拉也没有下拉电阻的意思,针对外部有上拉器件使用,节省能耗,做AD输入时也可以这样设置.*Input pull-up: 芯片输入有内部有上拉电阻(电阻接VCC)*Input pull-down: 芯片输入有内部下拉电阻(...

南岳区15697324143: stm32键盘输入时为什么断开模式配置成上拉, -
钮绍观通: 其实思考一下按键的工作原理就知道. 没键按下:按钮效于电阻无穷大,可视作开路.如果按键之前有上拉电阻,引脚经过电阻到VCC,IO即读到1.反之浮空模式则此时状态不确定. 按下时:按钮等效于导线(电阻无穷小),一般按钮之后就是地.由于电阻无穷小,引脚可以看做直接接地,因此读到0.

南岳区15697324143: stm32为什么要上拉或下拉输入 -
钮绍观通: 首先说明下输入IO口上拉电阻和下拉电阻的作用: 在没有信号输入的时候,上拉电阻能使读取input值保持为高,而下拉电阻正是相反.有些传感器等元气件,他们的信号输出有效时候会输出一个高电平(或者低电平),无效时候不输出,为开路.

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网