GPIO_Mode_Out_PP推挽输出
推挽电路是由两个三极管或MOSFET,以推挽方式存在于电路中,电路工作时,两只对称的开关管每次只有一个导通,所以导通损耗小、效率高、既提高电路的负载能力,又提高开关速度。
当input输出1电平时,上边的三级管导通同时下边的三极管截至,output口输出高电平。
当input输出0电平时,上边的三级管截至同时下边的三极管导通,output口输出低电平。
GPIO_Mode_Out_OD开漏输出
那么什么是开漏呢?这个在我答案一开头给出的「网上资料」里讲得很详细了,我这里也简单写一下。
要理解开漏,可以先理解开集。
如图,开集的意思,就是集电极C一端什么都不接,直接作为输出端口。
如果要用这种电路带一个负载,比如一个LED,必须接一个上拉电阻,就像这样。
当Vin没有电流,Q5断开时,LED亮。当Vin流入电流,Q5导通时,LED灭。
开漏电路,就是把上图中的三极管换成场效应管(MOSFET)。
N型场效应管各个端口的名称:
场效应管是电压控制型元器件,只要对栅极施加电压,DS就会导通。
结型场效应管有一个特性就是它的输入阻抗非常大,这意味着:没有电流从控制电路流出,也没有电流进入控制电路。没有电流流入或流出,就不会烧坏控制电路。而双极型晶体管不同,是电流控制性元器件,如果使用开集电路,可能会烧坏控制电路。这大概就是我们总是听到开漏电路而很少听到开集电路的原因吧?因为开集电路被淘汰了。
GPIO_Mode_IPU上拉和GPIO_Mode_IPD下拉的解释
1.什么是上下拉电阻?
上拉电阻:把一个不确定的信号通过电阻连接到高电平,是电信号初始化为高电平。
下拉电阻:把一个不确定的信号通过电阻连接到高电平,使电信号初始为低电平。
本质:上拉是对器件注入电流,下拉是输出电流
2.上下拉电阻接线方法
上拉电阻接线方法
电阻R12将KEY1网路标识上拉到高电平,在按键s2没有按下的情况下key1将被钳制在高电平,从而避免了引脚悬空而引起的误动作。
下拉电阻接线方法
这里电阻R29将DIR下拉到低电平,在光耦没有导通的情况下DIR将被钳制在低电平,从而避免了引脚悬空而引起的误动作。
3.作用解释
提高电路稳定性,避免引起误动作。第一图中的按键如果不通过电阻上拉到高电平,那么在上电瞬间可能就发生误动作,因为在上电瞬间单片机的引脚电平是不确定的,上拉电阻R12的存在保证了其引脚处于高电平状态,而不会发生误动作。
提高输出管脚的带载能力。受其他外围电路的影响单片机在输出高电平时能力不足,达不到VCC状态,这会影响整个系统的正常工作,上拉电阻的存在就可以使管脚的驱动能力增强。这里特别强调如下:带片上I2C资源的单片机,其SCL和SDA引脚是开漏引脚,如果当做普通的GPIO来用的话,你会发现该引脚输出高电平极不稳定甚至因为负载的关系都无法正常输出高电平,这时候就需要在这两个引脚上加上拉电阻了。
GPIO_Mode_AIN 模拟输
模拟输入是指传统方式的输入.数字输入是输入PCM数字信号,即0,1的二进制数字信号,通过数模转换,转换成模拟信号,经前级放大进入功率放大器,功率放大器还是模拟的。应用ADC模拟输入。
GPIO_Mode_IN_FLOATING 浮空输入
浮空(floating)就是逻辑器件的输入引脚即不接高电平,也不接低电平。由于逻辑器件的内部结构,当它输入引脚悬空时,相当于该引脚接了高电平。一般实际运用时,引脚不建议悬空,易受干扰。 通俗讲就是让管脚什么都不接,浮空着。
GPIO_Mode_AF_OD 复用开漏输出,GPIO_Mode_AF_PP 复用推挽输出
可以理解为GPIO口被用作第二功能时的配置情况(即并非作为通用IO口使用)。端口必须配置成复用功能输出模式(推挽或开漏)。
声明:本文素材来自网络,仅供学习。