输入模式有4种:浮空输入、上拉输入、下拉输入、模拟输入。
浮空输入:可读取引脚电平,引脚悬空不确定输入的电平。
上拉输入:可读取引脚电平,内部默认接上拉电阻,即默认输入高电平。
下拉输入:可读取引脚电平,内部默认接下拉电阻,即默认输入低电平。
模拟输入:引脚直接连接片上AD模块,把外部模拟信号做AD转换时接入引脚设置为模拟输入模式。
输出模式有4种:推挽输出、开漏输出、复用推挽输出、复用开漏输出。
推挽输出:可认为是有输出高电平能力的输出,IO口具有输出高电平的能力。
开漏输出:需连接上拉电阻才可输出高电平。
复用推挽输出:类似推挽输出,区别是输出由片上外设而非IO口寄存器定义,比如SPI、IIC等外设
复用开漏输出:类似开漏输出,区别是输出由片上外设而非IO口寄存器定义,比如SPI、IIC等外设
详细一点的解释如下,感谢原作者: