这不是软件问题,是你的内存超出了,看你图2,内存有149了,51单片机只能装128个字节,你需要换52芯片(写程序时选择52芯片)52内存有256个字节,还要换个头文件,REGX52.H。还有一个办法就是把你数组前加的code改成data,他就会存储在外部存储器上,想当于我们电脑里的机械硬盘。看你下面编译输出窗口中data有没有超出128,如果超出就还是不行,就得换52或者更高级的单片机 |
[img]点击project-----options for Target''Target 1" 会弹出来一个对话框中,选择output栏,勾选ceeate Hex file再编译一下就可以了 |
main.c都没有吗 |
编译提示消息很明显指出: idata 溢出,空间不足长度为 0x80H。 因此导致 数组变量dispRam被丢弃。 |
data空间已经不够用,可能有好多函数,函数内部的局部变量又没有定义空间,系统会将变量分配到你在Otions for Target 对话框里的设置的空间,网上搜一下都有 https://www.cnblogs.com/bison1989/archive/2011/06/02/2067626.html |
单片机ram太小,第一个错误都已经告诉你了 |
应该是ram不够 |
把idata改为xdata |
Error 107 MCU RAM不够,图形数据太大了,减减肥吧。 |
keil4卸载重装,装完了破(不汉化)英文界面再试试 |
换内存更大的单片机 |
要么换单片机,要么减少你的代码量 |
迵忆那段程序 发表于 2019-7-28 10:15 右键单击Target选择“Options for Target'Target1'”就会出来一个框,在memory model中选择compact:variables in pdata试试: |
换52 ;出现Program Size: data=149.0 xdata=0 code=2452 (程序大小:数据=149.0 xdata=0代码=2452) |
小黑屋525 发表于 2019-7-28 08:37 谢谢你的回答,怎么解决呢? |
12345678.. 发表于 2019-7-28 08:50 谢谢你的回答,这个我早就看过了,不行。 |
第二幅图和第三幅图显示内存空间溢出,参考https://blog.csdn.net/yishengzhiai005/article/details/25755181 |
keil软件百度云链接链接:https://pan.baidu.com/s/1MXg-1xHgblkvziia-L3KJQ提取码:y308复制这段内容后打开百度网盘手机App,操作更方便哦 |
或者是你软件可能有问题。 |
如何生产hex,https://jingyan.baidu.com/article/fd8044fa232bf05031137a21.html |
有两个错误,ERRORL107说的是你的单片机RAM不够,ERRORL105说的是data空间不够! |