谨以此篇,纪念一下我所犯过的低级错误。
背景:使用STM32F103控制一个5V通断从而控制大功率开关电源给某设备供电,控制线不接时单片机输出控制信号一切正常,接上后当单片机输出控制信号,开关电源开始向设备供电后仅工作几秒单片机复位(有看门狗)。这让我百思不得解啊,我考虑了是不是单片机的供电电压带不动,因为上面挂了挺多负载的,于是给控制电路换了另一路5V,结果还是不行。
解决:经过我和度娘持续的友好讨论,当我在另一论坛相似问题帖子中看到一位楼主的一句“单片机的电源脚都应该加一个或两个去耦电容。”时,我恍然大悟,立马翻看我的原理图,结果原理图上画去耦电容了,让我非常郁闷。原帖在此:https://bbs.21ic.com/icview-821202-1-1.html
那我就好奇了,看着我手中的板子,我并没看见单片机的四周有电容,我去耦电容哪去了???我又仔细看看PCB图,破案了:
这几个去耦电容没走丢,全挤在角落里了,但问题在于它们并没有直接与单片机相应引脚接在一起(大概是画PCB图的时候忘记这茬了),所以并不能起到应有的效果。
来不及等新板子了就用手头的板子飞了几根线接上,结果问题解决了。
做了这么多年,竟然还犯这样的错误,所以画PCB时一定要同时对照着看看原理图啊!
不说了,麻溜改板子去了。