股票

stm32芯片引脚过流问题

这两天调试stm32的一段程序,最开始能读取到芯片,烧写总是失败。先检查晶振,发展没有起振,把10pF电容换成两个20pF的之后,示波器能观察到波形了。但烧写还是失败,整个过程是,链接芯片正常,写入flash也正常,但是校验的时候出错,提示不支持芯片什么的。仔细检查才发现,看门狗设计有问题,MCU每隔两秒钟就被强制复位了。

解决各种问题后,可以正常烧写了,但是程序却不工作,读取写入的flash,也没有错误。无意间,把之前的程序烧进去,竟然工作正常了!但是,我这次改动,只是加了个引脚电平复位而已啊。然后把程序一段段复位,发现引脚初始化、置低,都没有问题,但是一旦拉高芯片就死机。仔细看原理图,终于找到原因:我直接把引脚接到了NPN三极管的基极上,中间并没有串联限流电阻,结果引脚电平一抬高,直接电流过大,芯片过流保护了。

找到问题后就简单了,割断连接线,串联一个4.7k的电阻,工作正常。以后设计电路要小心了,mcu的引脚接控制位,最好在中间串联一个R0电阻,就算用不上,也要为以后的调试测量什么的做预防。

打赏
原文链接:,转发请注明来源!

发表评论