首页  >  文章  >  stm32单片机的gpi和gpo分别有几种工作方式

stm32单片机的gpi和gpo分别有几种工作方式

青灯夜游
青灯夜游原创
2019-03-08 14:19:387919浏览

GPI有四种工作方式,分别为:浮空输入、上拉输入、下拉输入、模拟输入;GPO有四种工作方式,分别为:开漏输出、开漏复用功能、推挽输出、推挽复用功能。

stm32单片机的gpi和gpo分别有几种工作方式

GPI有四种工作方式,分别为:浮空输入、上拉输入、下拉输入、模拟输入;GPO有四种工作方式,分别为:开漏输出、开漏复用功能、推挽输出、推挽复用功能。

stm32单片机的gpi和gpo分别有几种工作方式

GPI的四种工作方式:

1、浮空输入

浮空输入是将I/O端口的电平信号直接进入输入数据寄存器。也就是说,I/O的电平状态是不确定的,完全由外部输入决定;如果在该引脚悬空(在无信号输入)的情况下,读取该端口的电平是不确定的。

浮空输入的最大特点就是MCU读到的引脚状态完全跟随外部IO口的电平变化,一般用于按键输入,抗干扰性能不如上拉和下拉方式;

2、上拉输入

上拉输入是将I/O端口的电平信号直接进入输入数据寄存器;但是在I/O端口悬空(在无信号输入)的情况下,输入端的电平可以保持在高电平;并且在I/O端口输入为低电平的时候,输入端的电平也还是低电平。

上拉输入抗干扰能力强,特别适合接地信号的输入;

3、下拉输入

下拉输入是将I/O端口的电平信号直接进入输入数据寄存器。但是在I/O端口悬空(在无信号输入)的情况下,输入端的电平可以保持在低电平;并且在I/O端口输入为高电平的时候,输入端的电平也还是高电平。

下拉输入模式与上拉输入模式相反,它适合有效信号为高电平值得信号接入,通过分压电阻来滤除信号毛刺,提高电平稳定性。

4、模拟输入

模拟输入是将I/O端口上的信号作为模拟信号直接输入到STM32内部的ADC上,进行采样转换。

GPO的四种工作方式:

1、开漏输出

开漏输出是通过设置位设置/清除寄存器或者输出数据寄存器的值,途经N-MOS管,最终输出到I/O端口。

开漏输出端相当于三极管的集电极,要得到高电平状态需要上拉电阻才行,适合于做电流型的驱动,其吸收电流的能力相对较强,另外,其I/O端口还可以实现双向通信口的功能;

2、开漏复用输出

开漏复用输出模式,与开漏输出模式很是类似。只是输出的高低电平的来源,不是让CPU直接写输出数据寄存器,取而代之利用片上外设模块的复用功能输出来决定的。

3、推挽输出

推挽输出是通过设置位设置/清除寄存器或者输出数据寄存器的值,途经P-MOS管和N-MOS管,最终输出到I/O端口。

推挽输出模式,I/O口可以输出高、低电平,本质上内部采用的是推挽结构,就是两个三极管分别受两互补信号的控制,同一时刻,只有一个三极管导通,另外一个截止,输出的高低电平值由IC电路的电源决定;

4、推挽复用输出

推挽复用输出模式,与推挽输出模式很是类似。只是输出的高低电平的来源,不是让CPU直接写输出数据寄存器,取而代之利用片上外设模块的复用功能输出来决定的。

以上就是本篇文章的全部内容,希望能对大家的学习有所帮助。更多精彩内容大家可以关注php中文网相关教程栏目!!!

以上是stm32单片机的gpi和gpo分别有几种工作方式的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn