请选择 进入手机版 | 继续访问电脑版
查看: 162|回复: 5

[求助] stm32f030为啥从这里跳出会死在void HardFault_Handler(void)

[复制链接]

该用户从未签到

30

主题

79

帖子

2

蝴蝶豆

高级会员

最后登录
2019-1-19
发表于 2019-1-11 12:52:33 | 显示全部楼层 |阅读模式
本帖最后由 p13692166934 于 2019-1-14 17:17 编辑

这是什么原因导致的,虽然可以做到不用return跳出,但是不知道原因以后遇到同类型的问题很容易抓瞎,操作的是电容按键,智能锁来的,结构有3层,2,3层这么设置到是没问题,还是可以返回 ,但一返回第一层就死在void HardFault_Handler(void)了
case 10:
   {
    delay_ms (10);//消抖
    return;
   }

  ST全新域名已上线,大家奔走相告>>                    
回复

使用道具 举报

该用户从未签到

3

主题

882

帖子

301

蝴蝶豆

版主

最后登录
2019-1-19
发表于 2019-1-11 16:49:12 | 显示全部楼层

回帖奖励 +1 ST金币

进入HardFault_Handler的位置你是怎么算出来的?我记得网上面有,但是好像很复杂。。。还有,进入HardFault_Handler之后你可以用Keil和IAR里面的栈查看,可以知道从哪个函数里面进入HardFault_Handler的,还有。。进入HardFault_Handler一般就两个,一是数组或者栈溢出,一个就说中断函数未实现。。。找找这个原因就好了。。。
回复 支持 反对

使用道具 举报

该用户从未签到

30

主题

79

帖子

2

蝴蝶豆

高级会员

最后登录
2019-1-19
 楼主| 发表于 2019-1-11 17:23:03 | 显示全部楼层
MrJiu 发表于 2019-1-11 16:49
进入HardFault_Handler的位置你是怎么算出来的?我记得网上面有,但是好像很复杂。。。还有,进入HardFault_ ...

就是在这里一到return就掉到HardFault_Handler
case 10:
    {
     delay_ms (10);//消抖
    return;
    }
  ST全新域名已上线,大家奔走相告>>                    
回复 支持 反对

使用道具 举报

该用户从未签到

14

主题

58

帖子

0

蝴蝶豆

中级会员

最后登录
2019-1-17
发表于 2019-1-11 22:22:22 | 显示全部楼层
楼主,你是单步调试定位到这个位置产生这个错误的吧!我之前也遇到到过类型的错误,你的硬件错误之前的那几个错误你排除了没有?出现了例如内存错误也会跳到硬件错误里面,建议你多检查一下你的代码使用到指针的地方,可能会有意想不到的发现。
回复 支持 反对

使用道具 举报

该用户从未签到

0

主题

1

帖子

0

蝴蝶豆

新手上路

最后登录
2019-1-12
发表于 2019-1-12 19:29:16 | 显示全部楼层
HardFault_Handler出现的情况一般有两种:
一种是:数组越界
一种是:堆栈溢出,程序指针指飞
解决方案个人 建议:
在中断HardFault_Handler中的while()处打上断点,让程序执行到此处停止。
在keil中打开Call Stack + Locals,然后在HardFault_Handler上 右键选择:Show Caller Code,就会跳转到进入循环中断之前的函数处。仔细查看这部分函数被调用或者数组内存使用情况。
  ST全新域名已上线,大家奔走相告>>                    
回复 支持 反对

使用道具 举报

该用户从未签到

30

主题

79

帖子

2

蝴蝶豆

高级会员

最后登录
2019-1-19
 楼主| 发表于 6 天前 | 显示全部楼层
我去试试看
回复 支持 反对

使用道具 举报

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

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|意法半导体STM32/STM8技术社区

GMT+8, 2019-1-20 09:44 , Processed in 0.085862 second(s), 8 queries , MemCache On.

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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