打印

Keil 调试之Hardfault_Hander

[复制链接]
812|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 | 只看该作者
改下栈空间大小应该也可以应付

使用特权

评论回复
5
309030| | 2017-6-20 17:25 | 只看该作者
在.s 文件 中将栈最好修改成2K,免得后面一直修改

使用特权

评论回复
6
gygp| | 2017-6-22 21:55 | 只看该作者
你使用的是什么处理器?

使用特权

评论回复
7
chenci2013| | 2017-6-22 21:56 | 只看该作者
提供一下完整的代码看看

使用特权

评论回复
8
biechedan| | 2017-6-22 21:57 | 只看该作者
数值也没有都幅值

使用特权

评论回复
9
wangdezhi| | 2017-6-22 21:57 | 只看该作者
数组定义长度跟你的内存有关系

使用特权

评论回复
10
isseed| | 2017-6-22 21:58 | 只看该作者
android2 发表于 2017-6-20 17:03
大容量数组最好是改成全局变量。

是要修改static吗?

使用特权

评论回复
11
suzhanhua| | 2017-6-22 21:58 | 只看该作者
这个代码是怎么调试的?

使用特权

评论回复
12
mituzu| | 2017-6-22 21:59 | 只看该作者
后面的i是赋值用的吗?

使用特权

评论回复
13
mituzu| | 2017-6-22 22:00 | 只看该作者
楼主根本没有对数组赋值

使用特权

评论回复
14
hellosdc| | 2017-6-22 22:00 | 只看该作者
这个256是数组长度吗

使用特权

评论回复
15
uiint| | 2017-6-22 22:01 | 只看该作者
测试程序哪测试变量了?

使用特权

评论回复
16
gygp| | 2017-6-22 22:01 | 只看该作者
是内存不足造成的吗?

使用特权

评论回复
17
chenci2013| | 2017-6-22 22:01 | 只看该作者
使用for循环定义。

使用特权

评论回复
18
biechedan| | 2017-6-22 22:01 | 只看该作者
数组长度没有问题,我用过500个。

使用特权

评论回复
19
wangdezhi| | 2017-6-22 22:01 | 只看该作者
建议分开多个数组调试试试

使用特权

评论回复
20
isseed| | 2017-6-22 22:02 | 只看该作者
android2 发表于 2017-6-20 17:03
大容量数组最好是改成全局变量。

大的数组不容易计算。

使用特权

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

本版积分规则

173

主题

926

帖子

3

粉丝