打印
[PIC®/AVR®/dsPIC®产品]

PIC18F67K22RAM不够用了

[复制链接]
1575|15
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
JY-DX-JY|  楼主 | 2016-11-25 13:46 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
我新接手一个项目,用的PIC18F67K22,程序挺大的。
让我改,可是RAM不够用了。我要精简变量,已经精简了一部分,
可还没达到要求。我精简的方法是把没用的全局变量去掉,一些常数
放到ROM里。请问各位大神,还有其他方法可以精简变量吗?谢谢!
沙发
JY-DX-JY|  楼主 | 2016-11-25 14:45 | 只看该作者
上个图

使用特权

评论回复
板凳
XIEYUANBIN| | 2016-11-25 16:02 | 只看该作者
多用字节型变量,常数放在ROM是常识。看你自己的C水平如何了

使用特权

评论回复
地板
shaoziyang| | 2016-11-25 16:05 | 只看该作者
程序优化等级设置没有?

使用特权

评论回复
5
JY-DX-JY|  楼主 | 2016-11-25 16:06 | 只看该作者
有的程序我不知道什么意思,不好乱改。
还有,我改了*.lkr文件,结果屏幕花了。

使用特权

评论回复
6
JY-DX-JY|  楼主 | 2016-11-25 16:07 | 只看该作者
shaoziyang 发表于 2016-11-25 16:05
程序优化等级设置没有?

我都不知道在哪儿设。

使用特权

评论回复
7
XIEYUANBIN| | 2016-11-26 09:00 | 只看该作者
如是正版编译器(pro版),一般默认最高优化等级

使用特权

评论回复
8
jackhwang| | 2016-11-26 09:34 | 只看该作者
能用char搞定的,不要用int。能用int的,不要用long。能用局部变量的,不要用全局变量。把一些常数放到ROM中,比较表格、字库之类的。

使用特权

评论回复
9
robter| | 2016-11-26 12:31 | 只看该作者
chr的内占用小,多多使用

使用特权

评论回复
10
一事无成就是我| | 2016-11-26 12:38 | 只看该作者
程序架构定了,如何优化都不可能太多,我的经验是能共享的函数尽量共享使用,可以用参数传递等区分运行

使用特权

评论回复
11
JY-DX-JY|  楼主 | 2016-11-26 13:58 | 只看该作者
现在程序稍微增加一点,触摸屏就显示不正常。

使用特权

评论回复
12
shaoziyang| | 2016-11-26 22:12 | 只看该作者
JY-DX-JY 发表于 2016-11-25 16:07
我都不知道在哪儿设。

以XC8编译器为例




使用特权

评论回复
13
yklstudent| | 2016-12-1 07:18 | 只看该作者

你这是最新版本得吗?
怎么和谐得

使用特权

评论回复
14
shaoziyang| | 2016-12-1 09:23 | 只看该作者
yklstudent 发表于 2016-12-1 07:18
你这是最新版本得吗?
怎么和谐得

好久没有去升级,应该不是最新版了吧,不过一般区别不大。有专用的**器

使用特权

评论回复
15
太平心经| | 2017-11-6 16:11 | 只看该作者
后来怎么弄好的?

使用特权

评论回复
16
michaellengleng| | 2017-11-7 17:03 | 只看该作者
欢迎来咨询

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:晴天响霹雳,平地一声雷。

245

主题

3349

帖子

30

粉丝