首先指明一下以下8种GPIO输入输出模式:
GPIO_Mode_AIN 模拟输入;
GPIO_Mode_IN_FLOATING 浮空输入;
GPIO_Mode_IPD 下拉输入;
GPIO_Mode_IPU 上拉输入;
GPIO_Mode_Out_OD 开漏输出;
GPIO_Mode_Out_PP 推挽输出;
GPIO_Mode_AF_OD 复用开漏输出;
GPIO_Mode_AF_PP 复用推挽输出;
1.开集输出:其中集指三极管的集电极,下图为集电极开路输出的两种形式;
第一种是NPN型,如果把LOAD这个负载去掉,即电路中没有负载,那么输入高电平,输出为低电平;输入低电平,输出为高阻态;
当接入负载之后,输入高电平,电流流经负载;输入低电平,三极管截止,负载无电流流过;
第二种PNP型,同样分为是否接入负载,不接入负载,输入高电平,输出为高阻态;输入低电平,输出为高电平;
当接入负载之后,输入低电平,电流流经负载;输入高电平,三极管截止,负载无电流流过;
2.开漏输出:它是指MOS管漏极开路输出结构,同样有两种结构;
第一种是N沟道,如果把LOAD这个负载去掉,即电路中没有负载,那么输入高电平,输出为低电平;输入低电平,输出为高阻态;
当接入负载之后,输入高电平,电流流经负载;输入低电平,负载无电流流过;
第二种P沟道,同样分为是否接入负载,不接入负载,输入高电平,输出为高阻态;输入低电平,输出为高电平;
当接入负载之后,输入低电平,电流流经负载;输入高电平,负载无电流流过;
其实上面说明的两种输出模式原理是想通的,只是使用的器件不同;
· 以上两种电路用于负载驱动,电路的驱动能力是取决于器件信号与电源功率;当我们把负载电阻更换为上拉,下拉电阻时就可以让这个电路作为电平转换电路来使用;
为什么我们一般都是说开漏输出呢?那是因为二者输出的原理和特性基本是类似的,只是一个是三极管一个是MOS管,但是又由于MOS管用的比较多,所以就很多时候就用"开漏输出"这个词代替了开漏输出和开集输出。