LED太亮了,有什么问题吗?
先看下面这个电路。3.3V供电,经过D2,R5,再通过PC13口输出低电平到GND。
经过测量,这个电阻R5上的电压约0.5V。也就是这个电路中的电流大约1mA。非常好的设计。

在上一篇笔记中,我将另一个LED连接到了VCC3V3和PC13之间。就相当于把图1中的R5换成一个0R电阻。
最直观的感受就是,这个LED太亮,太刺眼了。
那么,这会有什么问题吗?
来看图2,我将万用表串联在了VCC3V3和这个外接LED的阳极之间,LED的阴极接单片机的PC13脚,PC13输出低电平。万用表显示电流9.4mA。

翻开单片机的Datasheet,我们看到图3显示,单个IO口的最大灌电流能力为25mA。我们现在使用了大概10mA。

这种用法在调试时完全没有问题。但如果是做产品,切记,不可以这么干。
IO口的电流越大,会造成MCU功耗增加,温升更高。再加上客户的使用场景中,可能存在环境温度较高的情况。这时,过大的电流在长期运行后,甚至会造成单片机损坏。
我们在设计电路时,原则上保证电路能够正常工作,且抗干扰能力足够的前提下,IO口电流越小越好。尽量将单片机IO口电流控制在2mA以内。