找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3029|回复: 6
打印 上一主题 下一主题
收起左侧

keil编译DATA大于128B导致报错

[复制链接]
跳转到指定楼层
楼主
用keil编译报错ERROR L105和L107,经查是因为DATA>128B,应该是全局变量定义过多。我用的单片机是STC89C516,创建工程时选的是AT89C52,请问在不使用外部RAM的情况下有什么好的方法可以使编译通过吗,谢谢大家!
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:94031 发表于 2020-3-9 19:52 | 只看该作者
只能优化程序,减少全局变量。
回复

使用道具 举报

板凳
ID:235200 发表于 2020-3-9 20:53 | 只看该作者
编译时改用compact
回复

使用道具 举报

地板
ID:452950 发表于 2020-3-9 21:58 | 只看该作者
xuyaqi 发表于 2020-3-9 19:52
只能优化程序,减少全局变量。

请问keil所有51系列单片机的DATA都不能大于128byte吗,全局变量基本都要在不同函数里面调用,很难改呀
回复

使用道具 举报

5#
ID:452950 发表于 2020-3-9 22:01 | 只看该作者
csmyldl 发表于 2020-3-9 20:53
编译时改用compact

Memory Model那里改选compact,然后又报错ERROR L118了
回复

使用道具 举报

6#
ID:94031 发表于 2020-3-10 08:51 | 只看该作者
xxpp2011 发表于 2020-3-9 21:58
请问keil所有51系列单片机的DATA都不能大于128byte吗,全局变量基本都要在不同函数里面调用,很难改呀[em ...

memory model 选 compact,可以扩大到256byte。
回复

使用道具 举报

7#
ID:235200 发表于 2020-3-10 11:52 | 只看该作者
xxpp2011 发表于 2020-3-9 22:01
Memory Model那里改选compact,然后又报错ERROR L118了

报错118不影响程序运行
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表