2019-03-23 17:27发布
lcofjp 发表于 2017-11-8 09:21 你的栈空间设置的多大?你的局部变量太大了,会不会溢出了
shipeng 发表于 2017-11-8 09:36 是不是堆栈空间一定要大于我的局部变量?
huo_hu 发表于 2017-11-8 10:33 你这个应该优化一下,没必要搞这么多局部变量
最多设置5个标签!
是不是堆栈空间一定要大于我的局部变量?
各位问题解决了原因是堆栈溢出,感谢大家的热心回复,特别感谢lcofjp的7楼提醒,之前堆栈空间是默认的Stack_Size EQU 0x00000400后来通过查资料怀疑过这方面的原因改过一次Stack_Size EQU 0x00000800也还是不行,最后隐隐约约想起临时变量都是定义在堆栈中的,我的大数组临时变量大小为0x1400因此之前的0x400和0x800都是不够的,改为Stack_Size EQU 0x00002000后完美解决!
我感觉一个都不能少啊,我这个程序是用在一款:可导出数据至U盘的温湿度计上面的,温湿度数据存储在25Q16上,而我的25Q16数据存储是按照4096Byte为存储单元存的,因此有一个读取25Q16的4096字节的数组。还有一个1024Byte的数组是用作CH376的写入缓存,写入数据累积满整数个扇区(512字节的整数倍)再写入CH376可以大幅提升U盘的读写效率以及节约擦写寿命。
一周热门 更多>