OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 2075|回复: 7

为了防止hardfault_handler影响工作,在里面添加复位代码可行吗?

[复制链接]

102

主题

318

帖子

2

精华

金牌会员

Rank: 6Rank: 6

积分
1876
金钱
1876
注册时间
2011-12-21
在线时间
545 小时
发表于 2019-2-21 08:04:24 | 显示全部楼层 |阅读模式
1金钱
为了防止程序意外进入hardfault_handler 停止工作,在里面添加                __set_FAULTMASK(1);    NVIC_SystemReset();     使其直接复位,是否可行?

多谢!

最佳答案

查看完整内容[请看2#楼]

自问自答,已经通过测试,可以作为补救措施让单片机复位,目前没有发现什么问题。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

102

主题

318

帖子

2

精华

金牌会员

Rank: 6Rank: 6

积分
1876
金钱
1876
注册时间
2011-12-21
在线时间
545 小时
 楼主| 发表于 2019-2-21 08:04:25 | 显示全部楼层
自问自答,已经通过测试,可以作为补救措施让单片机复位,目前没有发现什么问题。
回复

使用道具 举报

9

主题

796

帖子

1

精华

金牌会员

Rank: 6Rank: 6

积分
2038
金钱
2038
注册时间
2017-8-2
在线时间
522 小时
发表于 2019-2-21 08:32:49 | 显示全部楼层
找到进入hardfault_handler的原因,从代码源头上解决问题
你这样写肯定还是有问题的。自己百度一下吧,怎么查找错误代码
猪猪熊呢?
回复

使用道具 举报

102

主题

318

帖子

2

精华

金牌会员

Rank: 6Rank: 6

积分
1876
金钱
1876
注册时间
2011-12-21
在线时间
545 小时
 楼主| 发表于 2019-2-21 08:35:05 | 显示全部楼层
323232 发表于 2019-2-21 08:32
找到进入hardfault_handler的原因,从代码源头上解决问题
你这样写肯定还是有问题的。自己百度一下吧,怎 ...

查找问题根源肯定要查,我说的是长期运行而且不能加看门狗,下下策。
回复

使用道具 举报

9

主题

796

帖子

1

精华

金牌会员

Rank: 6Rank: 6

积分
2038
金钱
2038
注册时间
2017-8-2
在线时间
522 小时
发表于 2019-2-21 08:41:14 | 显示全部楼层
进入这个中断是因为代码里某部分写错了....比如某个数组的长度是20,你用了a[50],这样会进入这个中断。而受外界影响而跑飞才会被看门狗复位,如果不能加看门狗,那必然对外界环境的要求要高一点。一份好的代码基本上是不需要看门狗的
猪猪熊呢?
回复

使用道具 举报

102

主题

318

帖子

2

精华

金牌会员

Rank: 6Rank: 6

积分
1876
金钱
1876
注册时间
2011-12-21
在线时间
545 小时
 楼主| 发表于 2019-2-21 09:05:18 | 显示全部楼层
323232 发表于 2019-2-21 08:41
进入这个中断是因为代码里某部分写错了....比如某个数组的长度是20,你用了a[50],这样会进入这个中断。而 ...

大哥咱别杠了行不
我刚已经说了肯定要尽量查找原因,这个方法只是为了以防万一万全之策。再说了除了软件,外部环境电磁干扰、电压不稳定等等都会引起这个错误,所以这个方法只是“下下策”,以防万一!
回复

使用道具 举报

102

主题

318

帖子

2

精华

金牌会员

Rank: 6Rank: 6

积分
1876
金钱
1876
注册时间
2011-12-21
在线时间
545 小时
 楼主| 发表于 2019-2-21 09:43:11 | 显示全部楼层
323232 发表于 2019-2-21 08:41
进入这个中断是因为代码里某部分写错了....比如某个数组的长度是20,你用了a[50],这样会进入这个中断。而 ...

非常抱歉,今天事情太多有点乱,我刚才说话太激动了。很感谢你的回答
回复

使用道具 举报

9

主题

123

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1694
金钱
1694
注册时间
2014-7-8
在线时间
183 小时
发表于 2019-2-21 11:43:53 | 显示全部楼层
调stm32的基本都碰到过这个问题吧,原因有的容易找,有的难找,你这样做是能防个万一的!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-23 16:27

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表