打印
[STM32L5]

如何处理STM32中出现的硬件故障或异常?

[复制链接]
楼主: sj8zw8
手机看帖
扫描二维码
随时随地手机跟帖
41
plsbackup| | 2024-12-18 13:23 | 只看该作者 回帖奖励 |倒序浏览
硬 fault(硬错误 这是一种严重的错误,通常是由于访问非法内存地址、总线错误或堆栈溢出等原因导致。例如,当程序试图访问一个不存在的内存位置或者对只读存储器进行写入操作时,就可能触发硬 fault。

使用特权

评论回复
42
loutin| | 2024-12-18 13:43 | 只看该作者
异常可能是由于软件错误(如数组越界、内存访问错误等)或硬件问题(如电源问题、外部干扰等)引起的。需要仔细分析异常发生的原因。

使用特权

评论回复
43
51xlf| | 2024-12-18 14:55 | 只看该作者
避免出现野指针和悬空指针。在使用指针之前,对其进行初始化,并检查其合法性。例如,在动态内存分配后,及时检查分配是否成功,防止使用无效的指针。

使用特权

评论回复
44
houjiakai| | 2024-12-18 19:30 | 只看该作者
增加堆栈大小,并检查递归调用或局部变量的大小。

使用特权

评论回复
45
单芯多芯| | 2024-12-20 08:00 | 只看该作者
检查代码中的问题,如数组边界和不正确的指针操作。

使用特权

评论回复
46
noDevice| | 2024-12-20 22:40 | 只看该作者
中断服务功能(isr)中不执行任何可能导致阻塞的操作。

使用特权

评论回复
47
公羊子丹| | 2024-12-23 07:51 | 只看该作者
其实很多问题都可以从时钟配置下手,尤其是主时钟不稳定,很容易导致初始化失败。建议检查 RCC 配置。

使用特权

评论回复
48
周半梅| | 2024-12-23 07:51 | 只看该作者
确认一下硬件设计有没有问题,比如电源滤波、电容值,还有晶振电路,这些都很关键。

使用特权

评论回复
49
帛灿灿| | 2024-12-23 07:52 | 只看该作者
我之前遇到过外设初始化失败,后来发现是 HAL 库版本不匹配,更新一下库就好了。

使用特权

评论回复
50
童雨竹| | 2024-12-23 07:52 | 只看该作者
遇到问题可以多用断点调试,看看代码在哪一**住,这样更容易定位问题。

使用特权

评论回复
51
万图| | 2024-12-23 07:52 | 只看该作者
如果是硬件异常,可以用独立看门狗试试重启系统,至少能让设备恢复运行。

使用特权

评论回复
52
Wordsworth| | 2024-12-23 07:52 | 只看该作者
查数据手册和参考手册吧,有些问题可能是芯片特性或者需要注意的地方。

使用特权

评论回复
53
Bblythe| | 2024-12-23 07:53 | 只看该作者
使用 CubeMX 配置生成代码的时候,小心有些选项默认值不适合你的应用场景,要仔细检查。

使用特权

评论回复
54
Pulitzer| | 2024-12-23 07:53 | 只看该作者
我还记得有一次 GPIO 不工作,结果发现是引脚复用冲突,把用到的功能都理清就好了。

使用特权

评论回复
55
Uriah| | 2024-12-23 07:53 | 只看该作者
如果问题比较诡异,试试官方提供的例程代码,先跑通基础功能再逐步排查问题。

使用特权

评论回复
56
Clyde011| | 2024-12-23 07:54 | 只看该作者
别忘了看看论坛或者 GitHub,很多问题可能已经有其他人遇到过,解决方案都可以借鉴。

使用特权

评论回复
57
鹿鼎计| | 2024-12-23 09:26 | 只看该作者
之前遇到过外设初始化失败,后来发现库版本不匹配,只需要更新库即可。

使用特权

评论回复
58
LLGTR| | 2024-12-23 20:00 | 只看该作者
使用cubemx时,配置生成的代码,注意一些选项的默认值不适合您的应用场景。仔细检查。

使用特权

评论回复
59
dreamCar| | 2024-12-24 11:19 | 只看该作者
还记得有一次,gpio不行,结果发现是引脚复用冲突。我只需要整理出所有用过的函数。

使用特权

评论回复
60
AuroraS| | 2024-12-24 23:36 | 只看该作者
如果问题比较怪异,可以尝试官方提供的例程代码,先运行基本功能,然后逐步排查问题。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则