LED在一边接3.3V,一边接STM32引脚(低电平)时点亮,是因为形成了电流通路,这种接法称为低电平驱动(共阳极接法)。具体原理如下:
1. 电路连接方式(共阳极)
- LED阳极(长脚) → 接 3.3V(高电平)
- LED阴极(短脚) → 接 STM32 GPIO引脚
- **STM32引脚配置为低电平(0V)**时,电流才能流过LED,使其发光。
2. 为什么低电平能点亮?
- 电流方向:电流从高电平(3.3V) → LED → STM32引脚(低电平) → GND(内部或外部)。
- STM32引脚相当于开关:
- 输出低电平(0V) → 形成电压差(3.3V→0V),电流流通,LED亮。
- 输出高电平(3.3V) → 两端无电压差(3.3V→3.3V),电流为零,LED灭。
3. 为什么这样设计?(优点)
- STM32的灌电流(Sink Current)能力通常比拉电流(Source Current)强:
- 许多STM32的GPIO在输出低电平时能承受更大的电流(如20mA),而输出高电平时可能驱动能力较弱(如8mA)。
- 因此,低电平驱动LED更可靠,避免IO口过载。
- 共阳极接法适合多个LED共用同一电源(如LED阵列)。
4. 对比高电平驱动(共阴极)
接法 | LED阳极接 | LED阴极接 | 点亮条件 | 适用场景 |
---|---|---|---|---|
共阳极 | 接3.3V(VCC) | 接STM32 GPIO | GPIO=低电平 | 多LED共用电源 |
共阴极 | 接STM32 GPIO | 接GND | GPIO=高电平 | 单个LED独立控制 |
5. 注意事项
- 必须串联限流电阻(通常220Ω~1kΩ),防止LED或STM32引脚过流损坏。
- STM32 GPIO模式:应设置为推挽输出(GPIO_MODE_OUTPUT_PP),确保能稳定输出高低电平。