Keil 调试之Hardfault_Hander

[复制链接]
1353|23
 楼主| Snow7 发表于 2017-6-20 16:48 | 显示全部楼层 |阅读模式
今天写了个程序,由于上次没测试导致调试花费时间很长,所以准备写个测试程序,看看各个变量的值对不对,结果,定义一个数组长度256能行,两个不行;两个数组都定义长度为250时就行,这是为什么?
int main(void)
{
        u8 i;
        u8 data[256]={0};
  u8 recieve[256]={0};

        i=1;
        i++;
}
 楼主| Snow7 发表于 2017-6-20 16:54 | 显示全部楼层
本帖最后由 Snow7 于 2017-6-20 17:04 编辑

这是为什么?
android2 发表于 2017-6-20 17:03 | 显示全部楼层
大容量数组最好是改成全局变量。
拉克丝 发表于 2017-6-20 17:14 | 显示全部楼层
改下栈空间大小应该也可以应付
309030 发表于 2017-6-20 17:25 | 显示全部楼层
在.s 文件 中将栈最好修改成2K,免得后面一直修改
gygp 发表于 2017-6-22 21:55 | 显示全部楼层
你使用的是什么处理器?
chenci2013 发表于 2017-6-22 21:56 | 显示全部楼层
提供一下完整的代码看看
biechedan 发表于 2017-6-22 21:57 | 显示全部楼层
数值也没有都幅值
wangdezhi 发表于 2017-6-22 21:57 | 显示全部楼层
数组定义长度跟你的内存有关系
isseed 发表于 2017-6-22 21:58 | 显示全部楼层
android2 发表于 2017-6-20 17:03
大容量数组最好是改成全局变量。

是要修改static吗?
suzhanhua 发表于 2017-6-22 21:58 | 显示全部楼层
这个代码是怎么调试的?
mituzu 发表于 2017-6-22 21:59 | 显示全部楼层
后面的i是赋值用的吗?
mituzu 发表于 2017-6-22 22:00 | 显示全部楼层
楼主根本没有对数组赋值
hellosdc 发表于 2017-6-22 22:00 | 显示全部楼层
这个256是数组长度吗
uiint 发表于 2017-6-22 22:01 | 显示全部楼层
测试程序哪测试变量了?
gygp 发表于 2017-6-22 22:01 | 显示全部楼层
是内存不足造成的吗?
chenci2013 发表于 2017-6-22 22:01 | 显示全部楼层
使用for循环定义。
biechedan 发表于 2017-6-22 22:01 | 显示全部楼层
数组长度没有问题,我用过500个。
wangdezhi 发表于 2017-6-22 22:01 | 显示全部楼层
建议分开多个数组调试试试
isseed 发表于 2017-6-22 22:02 | 显示全部楼层
android2 发表于 2017-6-20 17:03
大容量数组最好是改成全局变量。

大的数组不容易计算。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

173

主题

926

帖子

3

粉丝
快速回复 在线客服 返回列表 返回顶部