自己写的代码如下图所示,程序编译没问题,将m【5000】改为m【500】程序可以正常运行,但5000就不行,这是为什么啊?

2019-10-16 05:22发布


友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
22条回答
密耳
2019-10-17 01:51
dengxingling8 发表于 2016-12-2 15:54
栈空间过大(即使大于SRAM)并不会产生警告或者错误,在运行过程中,只要没有使用到和变量冲突的地址,程序 ...

栈空间过大,编译的时候一定会提示RAM定义过大不够了!他这个定义问题定义m【500】或m【5000】应该是编译了,,没提示警告,说明RAM空间够用,,运行不起来,应该类似于数组越界....  我没太细看STM32的堆栈手册内容。。谁来解释下zuozhongkai(版主)的“
数组m为5000,那么需要使用到的栈空间就是5000*2=10000个字节=10K。看一下你设置的栈空间有没有这么大!!!”这句话,对吗?

一周热门 更多>