输出模式也参照图片来讲:
开漏输出模式:其中1号区域,两个寄存器有两种读写方式,这个后面会介绍,这是关于寄存器的配置原因,对于输出驱动器部分,当输出控制电路输出逻辑1(高电平)时,外部的I/O端口输出的电平由外部电路决定,如果外部连接有上拉电阻,则输出高电平,如果接有下拉电阻,则输出低电平;当输出控制电路输出逻辑0(低电平)时,外部的电路不管是否接有上拉电阻还是下拉电阻,都输出低电平;所有应用开漏输出模式的时候想要输出高电平切记要加上拉电阻 开漏复用功能输出:此模式与开漏输出模式只有一个不同的地方,就是在1号区域,此模式是直接在复用功能输出引输出部分输出的 推挽输出模式:也是走的1、2、3、4号路线,其中在2号区域输出控制电路部分,如果输出逻辑1,则3号区域P-MOS导通,N-MOS截止,输出高电平(不管外部有没有上拉电阻);如果输出逻辑0,则3号区域P-MOS截止,N-MOS导通,输出低电平(不管外部有没有上拉电阻和下拉电阻) 推挽复用功能输出:此模式与推挽输出模式不同的地方就是1号区域,此模式是直接在复用功能输出部分输出的 下面讲解一下输出模式与寄存器的关系 在STM32的参考手册中我们可以找到GPIOx_CRL和GPIOx_CRH寄存器,这两个寄存器功能相同,就是GPIOx_CRL是用来配置低8位(例:PA0_PA7)I/O口的,GPIOx_CRH是用来配置高8位(例:PA8_PA15)I/O口的
|