上拉输入与下拉输入:
上拉输入:电平默认为高电平,只有当外部输入为低电平时,此IO口电平才会被拉低,经过触发器,再到寄存器,最后传入CPU
GPIO_Mode_IPU;
下拉输入:电平默认为低电平,无论外部输入高低电平都不会影响此IO口的电平状态比较稳定目前没用过此输入模式
GPIO_Mode_IPD;
浮空输入:
根据我对c8t6芯片的测试结果反馈,浮空输入IO口默认显示的是高电平,但相较于上拉输入,浮空输入默认的是微弱的高电平
GPIO_Mode_IN_FLOATING
模拟输入:
通俗的讲GPIO口一般只能获取电平的高或者低,如果需要具体电平值的话就需要用模拟输入,模拟输入默认没有电平高低,即IO既不输出高电平,也不输出低电平。最朴素的讲这个就是个电压表测电压的,具体应用于温度传感器,光敏传感器测具体物理量值上
GPIO_Mode_AIN;//模拟输入
复用推挽输出(Push-Pull Output):
特点: 在推挽输出模式下,输出引脚可以提供电平的高和低,它可以提供较强的电流,不仅能够拉高输出电平,也能够拉低输出电平。
应用: 这种输出模式通常用于连接到外部电路,例如驱动 LED、连接到其他数字电路等。
复用开漏输出(Open-Drain Output):
特点: 在开漏输出模式下,输出引脚只能拉低,而不能拉高。当输出高电平时,引脚处于高阻抗状态,当输出低电平时,引脚被拉低。
应用: 这种输出模式通常用于连接到总线上,例如 I2C 总线。在这种情况下,多个设备可以共享同一根总线,每个设备的输出引脚都是开漏的,通过总线上的上拉电阻来实现高电平。
区别总结:
复用推挽输出可以提供高和低电平,适用于需要输出正常逻辑电平的场合。
复用开漏输出只能提供低电平,适用于需要输出低电平和高阻抗状态的场合,如总线。