【故障解决】STM32单片机型号一个字母的差异导致程序无法正常工作(停在HardFault_Handler()函数里)

文章讲述了在使用STM32单片机开发项目时遇到的问题,新焊接的电路板上程序无法正常工作,经排查发现是由于选择了闪存容量较小的STM32L151C8T6而非足够的STM32L151C8T6A。采购时的型号混淆导致了调试困难。

        使用STM32单片机进行项目开发,在新焊接的电路板上出现下载程序正常,但是上电后却无法正常工作的情况。进行问题排查,进入在线调试,发现程序停在HardFault_Handler()函数里的死循环while(1)中,这说明STM32出现了硬件错误。

        可是一时找不到出错原因,程序和电路都没有改动过,老的电路板上工作一切正常,而新焊接的电路板就有问题。后来发现是单片机型号弄错了,程序无法正常工作时所使用的单片机型号是STM32L151C8T6,该型号单片机flash为64kbytes,程序所需要的空间不够,从而导致无法正常工作。

        正常使用的型号应该是STM32L151C8T6A,尾缀多了一个字母A,该型号单片机flash为128kbytes,可以满足程序所需空间。

        这两种型号的单片机外观和丝印几乎一样,只是一个字母的差别,不注意看还真不容易发现。其实主要还是在采购单片机时没有注意,一眼看过去没有注意到型号有区别,结果导致查找问题花了很多时间。

        新的电路板更换单片机后,工作一切正常。

评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

平凡工匠

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值