标题: 求助51单片机空间溢出问题 [打印本页]

作者: 花开半夏    时间: 2018-9-22 10:07
标题: 求助51单片机空间溢出问题
谁知道51单片机编程编译时空间溢出咋解决呀,而且我用的是STC12C5A60S2芯片,其存储空间不是很大的吗,我才用了一点点咋就溢出了



作者: 罗文杰    时间: 2018-9-22 22:58
你这个是变量太多了,在定义变量的前面加上xdata
作者: cjm82    时间: 2018-9-22 23:28
程序全局或者静态变量估计有点多,建议把数组前面加个CODE,放在程序区里去.
点击"options for target"(就是第一次编译要生成HEX那个按钮),然后点选target标签,下面有两个下拉菜单,标题分别是Memory mode 和 Code Rom size,前者是RAM大小,后者是ROM,分别可以改为大中小,你更改下RAM设置再试试编译.
作者: sxhwdz    时间: 2018-9-23 08:19
嵌入式系统的内存资源是很有限的,特别是51系统,分成了BDATA,DATA,IDATA,XDATA,使用的时候要引起注意,最好的DATA段也是最应该节约的,因为该段可以直接寻址,而R0~R7,BDATA段都在该区段内,使得仅有的128个字节更加紧张,能用IDATA段的尽量用IDATA段,像数组本来就不需要直接寻址的,建议放在IDATA段。但是要注意的是必须留出足够的堆栈空间。
作者: 花开半夏    时间: 2018-10-13 16:57
谢谢各位大神,溢出问题已解决
作者: 带你游世界    时间: 2019-3-23 22:23
花开半夏 发表于 2018-10-13 16:57
谢谢各位大神,溢出问题已解决

请问楼主,c51地址空间溢出怎么解决的?





欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1