其中输入模式有4种,分别是:
(1)模拟输入 GPIO_Mode_AIN
(2)浮空输入 GPIO_Mode_IN_FLOATING
(3)下拉输入 GPIO_Mode_IPD
(4)上拉输入 GPIO_Mode_IPU
输出模式也有4种,分别是:
(1)开漏输出 GPIO_Mode_Out_OD
(2)推挽输出 GPIO_Mode_Out_PP
(3)复用开漏输出 GPIO_Mode_AF_OD
(4)复用推挽输出 GPIO_Mode_AF_PP
其中用的比较多的就是推挽输出、开漏输出以及上拉输入,主要说一下推挽输出与开漏输出。
<1>推挽输出:可以输出高/低电平,连接数字器件。示意图如下,一般为两个三极管或者mosfet构成。
如图所示,由上npn型和下pnp型的两个三极管构成推挽输出模式,当寄存器输出信号1时候,u1为高电平,npn导通,pnp截至,uo为高电平。相反,当寄存器输出信号0时,uo输出低电平。
<2>开漏输出:与集电极开路有异曲同工之处,先说一下集电极开路。
由两个npn型的三极管组成,右侧的三极管的集电极作为输出,一直处于开路状态,所以叫做集电极开路,其只能输出低电平。