OpenEdv-开源电子网

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

定义数组后出现错误 HardFault_Handler

[复制链接]

6

主题

12

帖子

0

精华

初级会员

Rank: 2

积分
56
金钱
56
注册时间
2014-3-15
在线时间
0 小时
发表于 2014-3-31 19:11:06 | 显示全部楼层 |阅读模式
在原子哥的串口程序前加了几个数组定义,加了个对数组处理的函数,出现了HardFault_Handler的错误,不知道怎么解决!!!代码如下
void calDist(float dist[8][8],float real[8],float test[8])
{
    for(i=0; i<8;i++)
{
for(j=0; j<8;j++)
{
 dist[j]=(test-real[j])*(test-real[j]);
 printf("dist[%d][%d]=%d",i,j,dist[j]);
}
printf("\r\n");
}
}
float calMinDis(float dist[8][8],float route[8][8]) { for(i=0; i<8;i++) { for(j=0; j<8;j++) { if(i+j==0) {    route[j]=dist[j];          continue; } if(i==0) { route[j]=dist[j]+route[j-1]; continue; } if(j==0) { route[j]=dist[j]+route[i-1][j]; continue; }            route[j]=route[i-1][j-1];       if(route[j]>route[j-1]) route[j]=route[j-1];            if(route[j]>route[i-1][j]) route[j]=route[i-1][j]; route[j]+=dist[j]; } } return route[8-1][8-1]; }
int main(void) { float real[8]={1,2,3,4,5,6,7,8}; float test[8]={11,12,13,14,15,16,17,18}; float dist[8][8]; float minDis,route[8][8]; Stm32_Clock_Init(9); //系统时钟设置 !!!!!!错误产生的地方!!!!!!!!!!!
delay_init(72); //延时初始化 uart_init(72,9600); //串口初始化为9600 LED_Init(); //初始化与LED连接的硬件接口 while(1){ printf("begin calDist "); calDist(dist,real,test); printf("begin minDisminDis"); minDis=calMinDis(dist,route); ////若是将这个函数注释,则可以解决上述问题!!!!!!!!!!!!!
// printf("minDis=%d",minDis); } }

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

39

主题

2026

帖子

1

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
2020
金钱
2020
注册时间
2013-5-1
在线时间
87 小时
发表于 2014-3-31 19:20:12 | 显示全部楼层
你看下你数组访问越界了没
博观而约取,厚积而薄发。
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165475
金钱
165475
注册时间
2010-12-1
在线时间
2115 小时
发表于 2014-3-31 19:40:14 | 显示全部楼层
局部变量太多,堆栈溢出了。。。
自然死机。
把你那几个数组,作为全局变量,问题就不会有了。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

6

主题

12

帖子

0

精华

初级会员

Rank: 2

积分
56
金钱
56
注册时间
2014-3-15
在线时间
0 小时
 楼主| 发表于 2014-3-31 19:51:45 | 显示全部楼层
原子哥  碉堡了   OK了  Thanks
回复 支持 反对

使用道具 举报

28

主题

1489

帖子

0

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
1656
金钱
1656
注册时间
2013-7-24
在线时间
1 小时
发表于 2014-3-31 20:10:42 | 显示全部楼层
原子阅历丰富,秒懂。
于20150522停用该账号:http://www.microstar.club
回复 支持 反对

使用道具 举报

3

主题

18

帖子

0

精华

初级会员

Rank: 2

积分
50
金钱
50
注册时间
2014-4-1
在线时间
0 小时
发表于 2014-4-4 12:23:46 | 显示全部楼层
学习了
回复 支持 反对

使用道具 举报

13

主题

121

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
375
金钱
375
注册时间
2013-12-12
在线时间
13 小时
发表于 2014-4-4 12:46:54 | 显示全部楼层
不愧为原子哥。。。牛!!
回复 支持 反对

使用道具 举报

头像被屏蔽

2

主题

164

帖子

1

精华

禁止访问

积分
1316
金钱
1316
注册时间
2012-5-13
在线时间
127 小时
发表于 2014-4-4 13:14:52 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-5-12 20:16

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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