STM32的GPIO输出学习(2)GPOI硬件输出部分

输出部分情况。输出部分就是简单明了一些,主要的部分就是红色圈出来的

1.数字部分可以有输出数据寄存器或者片上外设控制,方式有

(1)通过输出数据寄存器进行控制,即是普通的IO口进行控制

(2)位设置/位清除寄存器,可以只操作寄存器的某一位而不影响其他位(如读取函数GPIO_ReadInputDataBit)。这是因为如果使用寄存器会同时操控16个 端口,即如果操控寄存器进行读写就只能整体读写(如读取函数GPIO_ReadInputData)

2.两个Mos管

上侧位P-MOS,下侧为N-MOS,MOS管是一种电子开关,信号控制开关的导通与关闭,开关负责将IO口接到VDD或者VSS上,可以通过选择推挽输出、开漏输出和关闭三种模式来控制MOS管的状态

(1)在推挽输出模式下,P-MOS与N-MOS均有效,数据寄存器为0时,上导下断,输出接VDD输出高电平。输出为0时,上断下导,接入VSS,输出低电平。

在这种模式下高低电平均有较强的驱动能力,推挽输出也叫强推挽输出模式。此时,STM32对IO口的输出效果有着绝对的控制权

(2)开漏输出模式下,P-MOS无效,只有N-MOS进行工作,但是图中的“输出控制”模块依旧 只会进行原先的操作:即在输出寄存器为1时,N-MOS断开,输出断开,为高电阻模式,没有电流输出;但是输出寄存器为0时,P-MOS断开,输出为VSS,即输出低电平。也就是说,在开漏输出的情况下,只有低电平有驱动能力,而高电平没有驱动能力

一般来说,开漏输出可以作为通讯协议的驱动方式,比如I2C(I方C)通信引脚,在多机通讯时,可以避免各个设备相互干扰。

(3)关闭状态

引脚作为输出模式时,电平由外部信号控制

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值