1.GPIO输出

发布时间:2024年01月21日

GPIO简介:
在这里插入图片描述

GPIO位结构:
在这里插入图片描述

TTL施密特触发器是对输入电压进行整形的,设定上下阈值,高于上限的输出高电平,低于下限的输出低电平,可以有效的避免因信号的抖动而造成输出抖动现象。

位设置寄存器:对某一位置1,在对应的位寄存器位写1即可。剩下不需要操作的位写0。
位清楚寄存器:对某一位置0,在对应的位清楚寄存器写1即可。

通过配置GPIO端口寄存器可以设置以下8种模式:
在这里插入图片描述

推挽输出:在推挽输出模式下,PMOS和NMOS均有效,数据寄存器为1时,上管导通,下管断开输出直接接到VDD就是输出高电平;数据寄存器为0时,下管导通,上管断开,输出直接接到VSS就是输出低电平;这种模式下高低电平均有较强的驱动能力,所以推挽输出模式也叫强推输出模式。

开漏模式:P-MOS无效,只有N-MOS在工作,当数据寄存器为1时,下管断开,输出相当于断开,此时是高阻模式,数据寄存器位0时,下管导通,输出直接接到VSS,输出低电平,只有低电平有驱动能力,高电平是没有驱动能力的;在该模式下,可以作为通信协议的驱动模式,比如I2C,在多机通信的情况下,可以避免各个设备的相互干扰;

在这里插入图片描述

除了模拟输入模式下,其他模式输入均有效;复用模式即输出由外设控制;

在这里插入图片描述

对于功率大一点的直接用IO端口驱动对stm32负担过大,此时可以用三极管驱动电路来完成驱动任务:

上面的是PNP三极管驱动电路,三极管的左边是基极,带箭头的是发射极,剩下的是集电极,左边的基极给低电平三极管就会导通,此时蜂鸣器工作;基极给高电平,三极管截止,无电流通过,蜂鸣器停止工作。

下面的是NPN三极管驱动电路,三极管的左边是基极,带箭头的是发射极,剩下的是集电极,它的驱动逻辑跟上面的是相反的,基极给高电平导通,基极给低电平截止。
注意:PNP三极管最好接在上边,NPN最好接在下边,这是因为三极管的通断是需要发射极和基极之间有一定的开启电压,如果负载接在发射极可能导致三极管无法开启。

文章来源:https://blog.csdn.net/m0_46112340/article/details/135597235
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。