单片机堆栈设1024K下载进去,没事,只是运行的时候堆栈占用的比例比较大,担心中途不够用,就设大点,设成2048,一下载进去,完了,竟然出现堆栈快要溢出警告:98%…… 这是什么情况。
不知道你用的什么单片机,我曾经用过ATMEL128的,也遇到过好像类似的问题,不过不确信是不是同样的。我的问题是这样的,在编译环境里面也有一个设置堆站的。当时因为我的程序比较庞大(数据量比较大),结果一运行程序老出现乱码,堆站溢出。原因原来是这样的,它的编译器把堆站分为了软堆站和硬堆站,一个用于存放中间数据,一个用于类似函数中断的,结果设得那个值是用于硬中断的,最后把设得值调小了最好了,因为硬中断小点了,软中断就大了,所以就将就不溢出了。
可能你没看懂,我就是给个参考,你先明确你设得那个数值的具体含义是什么,比如说我设得那个我以为是软中断,溢出了应该设大点得呀。明确了再看看为什么