打印
[STM32F1]

受到干扰后会出现HardFault中断

[复制链接]
899|18
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
huangchui|  楼主 | 2020-11-16 20:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
由于外部接感性负载,干扰比较强,受到干扰后会出现HardFault中断,我的目标是尽量恢复现场,有什么好的方法没有,求好的建议

使用特权

评论回复
沙发
午夜粪车| | 2020-11-16 20:54 | 只看该作者
主要从硬件设计着手解决干扰问题,尽量不要出现HARDFAULT通过软件设计可以解决一部分干扰带来的问题

使用特权

评论回复
板凳
zhaoxqi| | 2020-11-16 21:01 | 只看该作者
但对复杂情况无能为力,而且会带来系统状态的短时失常,有点亡羊补牢的意味

使用特权

评论回复
地板
huangchui|  楼主 | 2020-11-16 21:04 | 只看该作者
硬件当然有做,但是不能保证100%都解决,就是说如果出现HardFault,软件要怎么处理,就像最后都使用看门狗一样

使用特权

评论回复
5
zhanghqi| | 2020-11-16 21:08 | 只看该作者
进去以后马上软件复位

使用特权

评论回复
6
jiajs| | 2020-11-16 21:11 | 只看该作者
出现HARDFAULT一般是误操作内部某些非法资源,很多情况下非法读写非合理ram

使用特权

评论回复
7
zhenykun| | 2020-11-16 21:14 | 只看该作者
由于干扰进入HARDFAULT还基本少见。

使用特权

评论回复
8
wyjie| | 2020-11-16 21:21 | 只看该作者
再者,从HARDFAULT角度,既然硬件HARDFAULT了,相当于死机了,软件只能重启,

使用特权

评论回复
9
jlyuan| | 2020-11-16 21:24 | 只看该作者
至于重启方式,一般使用狗,当然你可以选择别的方式

使用特权

评论回复
10
huangchui|  楼主 | 2020-11-16 21:28 | 只看该作者
软件重启是一种做法,但是这样变成内存又重新初始化过,还是不能尽量恢复现场

使用特权

评论回复
11
lium| | 2020-11-16 21:31 | 只看该作者

把比较重要的现场数据都保存下啊;
复位后,判断是上电复位还是什么复位

使用特权

评论回复
12
jlyuan| | 2020-11-16 21:37 | 只看该作者
先找出hardfault的根本原因,应该是由于干扰,令程序对一些异常条件处理出现问题导致的。

使用特权

评论回复
13
heweibig| | 2020-11-16 21:41 | 只看该作者
重启用狗是8位mcu常用之道,不过 cortex M内核 是提供了 内核重启和cpu重启寄存器控制命令的

使用特权

评论回复
14
wuhany| | 2020-11-16 21:45 | 只看该作者
加抗干扰的器件

使用特权

评论回复
15
gongche| | 2020-11-16 21:48 | 只看该作者
端口设计保护电路。

使用特权

评论回复
16
yufe| | 2020-11-16 21:55 | 只看该作者
你这就是脉冲造成的吧?
端口设计上脉冲防护功能。

使用特权

评论回复
17
dengdc| | 2020-11-16 21:58 | 只看该作者
干扰会导致hardfault?学习了!

使用特权

评论回复
18
tian111| | 2020-11-16 22:01 | 只看该作者
硬件HARDFAULT了,相当于死机,软件只能重启

使用特权

评论回复
19
songqian17| | 2020-11-16 22:04 | 只看该作者
铺地或者加一个屏蔽壳

使用特权

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

本版积分规则

918

主题

12323

帖子

4

粉丝