STM32的GPIO有4中输出模式,下面小编给大家介绍这几种输出模式,并说明其工作原理。方便大家理解和使用。
工具/原料
stm32单片机
方法/步骤
1、GPIO的基本结构
2、第一:开漏输出模式;当CPU在左边的编号1端通过位设置/清除寄存器,或输出数据寄存器写入数倌栗受绽据后,该数据位将通过编号2的输出控制炼蓄晦擀电路传送到编号4的I/O端口,如果CPU写入的是逻辑“1”,则编号3的N-MOS管将处于关闭状态,此时I/O端口的电平将由外部的上拉电阻决定,如果CPU写入的是逻辑“0”,则编号3的N-MOS管将处于开启状态,此时I/O端口的电平被编号3的N-MOS管拉到了VSS的零电位。在图的上半部,施密特触发器处于开启状态,这意味着CPU可以在“输入数据寄存器”的另一端,随时监控I/O端口的状态;通过这个特性,还实现了虚拟的I/O端口双向通信:只要CPU输出逻辑“1”,由于编号3的N-MOS管处于关闭状态,I/O端口的电平将完全由外部电路决定,因此,CPU可以在“输入数据寄存器”读到外部电路的信号,而不是它自己输出的逻辑“1”。
3、第二:开漏复用输出模式;与开漏输出模式的配置基本相同,不同的是编号2的输出控制电路的输入,与复用功能的输出端相连,此时输出数据寄存器被从输出通道断开了。同样,CPU可以从“输入数据寄存器”读到外部电路的信号。
4、第三:推免输出模式;在开漏输出模式的基础上,推挽输出模式仅仅是在编号2的输出控制电路之后,垢卜埂呦增加了一个P-MOS管。当输出逻辑“1”时,编号3处的P-MOS管导墩伛荨矧通,而下方的N-MOS管截止,达到输出高电平的目的。当输出逻辑“0”时,编号3处的P-MOS管截止,而下方的N-MOS管导通,达到输出低电平的目的。在这个模式下,CPU仍然可以从“输入数据寄存器”读到外部电路的信号。
5、第四:推挽复用输出模式,同样的道理,编号2的输出控制电路的输入,与复用功能的输出端相连,此时输出数据寄存器被从输出通道断开了。其它部分与前述模式一致,包括对“输入数据寄存器”的读取。