Stm32之GPIO工作模式

2020-04-26  本文已影响0人  月与树

GPIO的8种工作模式

GPIO初始化结构体的时候,必须要配置合适的工作模式,这样才能使得IO口发挥应有的作用。工作模式大体上共分为输入输出两类,共8种,下面将介绍这8种工作模式。

GPIO的工作模式

输入模式

GPIO_Mode_AIN 模拟输入
GPIO_Mode_IN_FLOATING 浮空输入
GPIO_Mode_IPD 下拉输入
GPIO_Mode_IPU 上拉输入

如上输入模式共有4种,主要是读出IO口的相关数据,比如按钮外设就需要读出高低电平来判断它的按下与松开。它们的数据通过TTL施密特触发器将模拟信号转化为数字信号输入在数据寄存器中,或者是直接由模拟信号输入到片上外设。

施密特触发器可作为波形整形电路,能将模拟信号波形整形为数字电路能够处理的方波波形,而且由于施密特触发器具有滞回特性,所以可用于抗干扰,其应用包括在开回路配置中用于抗扰,以及在闭回路正回授/负回授配置中用于实现多谐振荡器。

值得注意的一点是当GPIO被设置为输入模式的时候,就不需要配置其输出速度了,当然GPIO_Init()也会自动的忽略这一点的。

输出模式

GPIO_Mode_Out_PP 推挽输出
GPIO_Mode_Out_OD 开漏输出
GPIO_Mode_AF_PP 复用推挽输出
GPIO_Mode_AF_OD 复用开漏输出

开漏输出的这一特性另一个好处在于可以实现"线与"功能,所谓的"线与"指的是多个信号线直接连接在一起,只有当所有信号全部为高电平时,合在一起的总线为高电平;只要有任意一个或者多个信号为低电平,则总线为低电平。而推挽输出就不行,如果高电平和低电平连在一起,会出现电流倒灌,损坏器件。推挽输出的最大特点是可以真正的输出高电平和低电平,在两种电平下都具有驱动能力。

上一篇 下一篇

猜你喜欢

热点阅读