灯亮了,电流为什么会流进单片机?|引脚电路 04
封面为 AI 辅助概念插画;电路工作过程以正文动画为准。

第一系列的 LED 接在输出引脚与地之间,HIGH 时点亮。可有些板子恰好相反:写 LOW 才亮。不是代码失灵,而是负载接法变了。
动画使用理想直流电路,箭头表示传统电流方向,不是电子运动动画;非芯片仿真、非硬件实测。状态变化已放慢,忽略 LED 的瞬态和输出级动态。
拉电流:从引脚流向负载

当连接是“引脚→限流电阻→LED→GND”,输出 HIGH 能建立合适正向电压。传统电流从芯片供电,经内部上侧输出器件流出引脚,再穿过外部负载回到地。
这叫源出电流,也常说拉电流。芯片不是能量发生器,能量仍来自供电。引脚只是控制并承载这条路径的一部分。
灌电流:从负载流入引脚

把连接换成“VDD→限流电阻→LED→引脚”。输出 LOW 时,内部下侧器件接通回地路径,电流从外部流入引脚,称为吸收或灌电流。输出 HIGH 时两端压差变小,灯通常熄灭。
这里要求电源、电平范围、LED 极性与限流都正确。若负载接的是另一电源域,不能仅因“反正只灌电流”就忽略引脚耐压与供电顺序。
同样的灯,在两种接法里对应不同的有效电平。因此程序中用 LED_ON 表示含义,再由板级配置决定 HIGH/LOW,往往比到处硬编码更清楚。
限流与预算一起算

先看一个明确标作理想估算的例子:供电 3.3V,LED 正向压降暂取 2.0V,电阻 330Ω,忽略输出压降,则电流约为 (3.3−2.0)/330 ≈ 3.9mA。
这个数不是实测保证。真实 LED 压降随器件、电流、温度变化,GPIO 的 VOH/VOL 也会影响结果。设计时应依据边界条件检查电阻和器件,而不是把 2.0V 当作所有 LED 的固定常数。
更容易漏掉的是总量:一个引脚承载得了,不代表几十个引脚同时这样工作也允许。单脚、端口组、供电引脚及芯片总电流可能各有约束,源出与吸收的能力也未必完全对称。
数据手册中的绝对最大额定值表示不应越过的损坏边界,不是推荐连续工作目标;逻辑电平的保证条件又是另一组要求。
看完再猜
假设四条支路各约 4mA,总电流是约 16mA。能否据此说某款单片机一定安全?仍不能:还要查具体器件在当前条件下的电流、电压和热限制。
下一课开始,我们会把“传达控制意图”和“承载负载电流”分开,让外部器件承担更适合它的工作。
资料:Arduino 数字引脚说明、ST GPIO 入门与输出速度、TI HCMOS 设计考虑。本课数值均为自行设定的理想计算示例,不是电流额定值建议。
发现更多好玩的开源项目
专注 Arduino、开源硬件、端侧 AI 和值得收藏的开发者工具。
长按二维码关注「GitStar」
所有动画为教学原理示意,非芯片仿真、非硬件实测。网页发布:2026-09-22。