| 我也出现了这个问题但不知道怎么回事只有18行代码 |
暗光 发表于 2016-4-21 13:13 我原本的设置就是这样的,还是不行啊 |
| keil的版本限制了 |
| 可能是你代码里面数据太多,你把一些数据存储到外部RAM里面去,可以在数据变量定义前面加一个xdata. |
| 从下面的错误描述,你这个Keil没有注册,代码大小受限制。另外一方面你这很有可能是工程文件没有建对,要关闭原有的项目文件,然后新建,然后选择芯片型号,然后新建源程序,注意保存为对应文件格式,最后要添加进来。 |
| 这个改一下 xdata,就行了 |
| 重建工程,或者是你里面定义了不允许的东西,仔细查看一下 |
| 复制内容重建工程,这个是警告,里面你可能定义了不允许的东西 |
| 新建个工程,一步一步来,代码一个函数一个函数验证, |
暗光 发表于 2016-4-21 13:13 这个方法也试了,还是不行,可怎么办好 |
ArthurKing 发表于 2017-1-19 22:19 在 C51选项那里点击 9 应该能通过,如果原来是默认选8的话。这个与选用的单片机有关。 这个方法我试了,不行啊,怎么办 |
|
程序问题 |
| 通常重新启动就好 |
| 也有可能是你的软件MDK没有破解 |
| 请问把C51改成9要怎么改? |
| 全局变量用的太多了 |
| 可能是你的程序有错误,不能生成hex文件,也有可能是版本的问题 我的keil,如果工程文件太大,就容易出现这个毛病,玄学。 |
|
我的这个问题,还是没有解决 |
wc86110 发表于 2016-4-20 21:02 太感谢了,改成9就解决了 |
| 感谢分享经验 |
| 问题解决了吗,应该是程序问题 |
wanngfengyun123 发表于 2016-4-21 17:31 嗯,那个地方是优化代码编译的,但是你的原因是代码太长了,这是根本原因,与是8是9都没有关系,改成9要注意的是,原来你写P0=0XFF,然后写P0=0X00,编译器为了优化代码,就会默认为直往P0寄存器谢了0X00,前面写0XFF的认为是操作同一个寄存器的代码是无用代码,这样有时候会在运行上出错,请注意中间加一个_nop_(); |
1678 发表于 2016-4-21 09:12 我把 C51选项 那里改为 9 就通过,原来是默认选8 。谢谢了 现在可以正常运行了 |
wc86110 发表于 2016-4-21 12:11 谢谢大神 |
暗光 发表于 2016-4-21 09:07 用stc89c52 程序是同学帮忙修改的,在他那边没问题(他也是用stc89c52),发给我,运行就出现这情况。 并且 我打开其他项目都好着,就这个不行。 |
1678 发表于 2016-4-21 09:12 程序是同学帮忙修改的,在他那边没问题(他也是用stc89c52),发给我运行就出现这情况。 并且 我打开其他项目都好着,就这个不行。 |
暗光 发表于 2016-4-21 09:07 我用的是芯片是 stc89c52,.这个问题可以在软件上修改吗? 程序是同学帮忙修改的,在他那边没问题,发给我运行就出现这情况。 并且 我打开其他项目都好着,就这个不行。 |
liuyimao485812 发表于 2016-4-20 22:29 这个问题可以在软件上修改吗? 程序是同学帮忙修改的,在他那边没问题,发给我运行就出现这情况。 并且 我打开其他项目都好着,就这个不行。 |
暗光 发表于 2016-4-21 09:07 应该就是这个问题,rom 不够,但是不知道要怎么弄? 求支招,谢谢 ![]() |
zxc5230 发表于 2016-4-20 19:13 还是不行啊 |