STM32 学习笔记(持续更新)
杂项
- RESET:低电平
- SET:高电平
- 低电平可以理解为低电压(引脚上),也就是说那一块的电阻很小,像按键按下时,灯泡发光时都是属于低电平(原件正常工作电路导通,所处地方的电阻小所以电压小即低电平)
- LED长脚接正短脚接负
GPIO
-
分为Input和Output
-
对于Input有
- 浮空输入(GPIO_Mode_IN_FLOATING)
- 引脚无内部上拉或下拉电阻,电平完全由外部电路决定。
- 适用于检测外部信号(如按键输入),但悬空时电平不确定,易受干扰
- 上拉输入(GPIO_Mode_IPU)
- 内部上拉电阻(约30kΩ~50kΩ)将引脚默认拉至高电平。
- 适用于需要默认高电平的场景(如按键检测,松开时为高电平)
- 下拉输入(GPIO_Mode_IPD)
- 内部下拉电阻将引脚默认拉至低电平。
- 适用于需要默认低电平的场景(如防止噪声干扰)
- 模拟输入(GPIO_Mode_AIN)
- 引脚直接连接至ADC模块,不经过施密特触发器,用于采集模拟信号(如传感器电压)
- 浮空输入(GPIO_Mode_IN_FLOATING)
-
对于Output有
- 开漏输出(GPIO_Mode_Out_OD)
- 只能输出低电平,高电平需外接上拉电阻。
- 适用于电流型驱动(如I²C总线)或电平转换
- 推挽输出(GPIO_Mode_Out_PP)
- 可输出高/低电平,驱动能力强,适用于数字信号(如LED控制)
- 复用开漏输出(GPIO_Mode_AF_OD)
- 用于外设功能(如I²C的SCL/SDA),特性同开漏输出
- 复用推挽输出(GPIO_Mode_AF_PP)
- 用于外设功能(如USART的TX),特性同推挽输出
- 开漏输出(GPIO_Mode_Out_OD)
模式 | 优点 | 缺点 | 适用场景 |
---|---|---|---|
上拉输入 | - 默认高电平,避免悬空干扰 - 稳定检测低电平(如按键接地) | - 无法区分“无输入”和“高电平输入” | 按键检测(按键接地)、默认高电平需求的信号输入 |
下拉输入 | - 默认低电平,避免悬空干扰 - 稳定检测高电平(如按键接电源) | - 无法区分“无输入”和“低电平输入” | 按键检测(按键接电源)、默认低电平需求的信号输入 |
浮空输入 | - 电平完全由外部电路决定 - 低功耗(无内部电阻) | - 易受噪声干扰 - 未连接时电平不确定 | 外部电路已明确驱动(如总线通信)、ADC模拟输入 |
模式 | 优点 | 缺点 | 适用场景 |
---|---|---|---|
推挽输出 | - 直接输出高/低电平,驱动能力强 - 电平转换速度快 - 无需外部电路 | - 多个推挽输出并联可能短路(如一个输出高,另一个输出低) | LED控制、数字信号传输、驱动大电流负载(如继电器、电机) |
开漏输出 | - 可灵活匹配不同电平(通过外部上拉) - 支持“线与”逻辑(如I²C) | - 高电平依赖外部上拉电阻 - 高电平驱动能力弱(上升沿延迟) | 总线通信(I²C)、电平转换、多设备共享信号线 |