参考博客,《STM32–GPIO结构,推挽、复用输出》, 一起来围观吧
【link】https://blog.csdn.net/Cecilia_li/article/details/78615459
GPIO 寄存器的配置
模式一 开漏输出
CPU 写寄存器来 输出1通过输出控制电路 N-MOS管处于关闭状态,输出电平不受MOS管影响,而受上下拉电阻的影响,所以IO口输出不一定为1;
输出为0,N-MOS管开启,把输出端电平拉低,所以输出为0;CPU读出来的就是0.
模式二-------开漏复用输出
复用是通过 外设 来控制输入输出
其他与开漏输出一样
模式三----------推挽输出
推挽输出:输入1时,上方的 P-MOS 导通,下方的 N-MOS关闭,对外输出高电平;
输入0时,下方的 N-MOS 导通,上方的 P-MOS关闭,对外输出低电平。
模式四------推挽复用输出
复用是通过 外设 来控制输入输出
其他与推挽输出一样
端口模式寄存器
1, GPIOx 是32为寄存器 每两位控制一个IO(32位控制一组16位IO);
2,模式的设置
端口输出类型寄存器
高16位保留,只用到低16位
端口输出速度寄存器