//摘录保存一下自己需要的内容
//摘录自:@孤芳剑影https://blog.csdn.net/wdxabc1/article/details/139192494
一、GPIO八种工作模式(标准库参数)
1.输入浮空(GPIO_Mode_IN_FLOATING)
特点: 输入用,完全浮空,状态不定。
应用: 适用于需要读取外部信号的场景,但外部信号状态不确定。
2.输入上拉(GPIO_Mode_IPU)
特点: 输入用,使用内部上拉电阻,初始状态是高电平。
应用: 适用于外部信号默认为高电平的情况,如按钮按下时会拉低信号。
3.输入下拉(GPIO_Mode_IPD)
特点: 输入用,使用内部下拉电阻,初始状态是低电平。
应用: 适用于外部信号默认为低电平的情况,如按钮按下时会拉高信号。
4.模拟输入(GPIO_Mode_AIN)
特点: 用于连接模拟外设,如ADC(模数转换器)、DAC(数模转换器)等。
应用: 适用于需要进行模拟信号处理的场景。
5.推挽输出(GPIO_Mode_Out_PP)
特点: 驱动能力强,支持通用输出,可提供较大电流。(输出:高、低电平)
应用: 适用于需要输出到外部设备,需要较大驱动能力的场景。
6.开漏输出(GPIO_Mode_Out_OD)
特点: 用于实现开漏输出,常用于构建总线,如I2C。(输出:低电平、高阻态)
应用: 适用于需要多个输出端口共享同一信号线的场景,例如I2C的SDA、SCL线。
7.复用推推挽输出(GPIO_Mode_AF_PP)
特点: 用于实现推挽输出,并复用了片上外设功能。
应用: 适用于需要实现外设功能,同时需要提供较大驱动能力的场景,例如SPI的SCK、MISO、MOSI线。
8.复用开漏输出(GPIO_Mode_AF_OD)
特点: 用于实现开漏输出,并复用了片上外设功能。
应用: 适用于需要实现外设功能,同时共享信号线的场景,例如硬件I2C的SDA、SCL线。
二、GPIO内部结构图
//F1与F4、H7等其他型号的结构及功能好像不一样,可以看孤芳剑影的原文,在文章靠后的部分有介绍。