打印

(续)最后一个问题,关于内存的

[复制链接]
1899|11
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
yujie870705|  楼主 | 2011-4-27 11:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 yujie870705 于 2011-4-27 13:00 编辑

我*。内存只有64个字节,为什么我用到90%左右就不能用了,PIC16F630的型号!
沙发
老鱼探戈| | 2011-4-27 13:07 | 只看该作者
是不是编译器的问题,会预留一些给堆栈和局部变量。
我也是猜测而已

使用特权

评论回复
板凳
yujie870705|  楼主 | 2011-4-27 17:26 | 只看该作者
那应该怎么解决呢?

使用特权

评论回复
地板
yujie870705|  楼主 | 2011-4-27 18:07 | 只看该作者
什么都难不倒我的!哈哈,马上项目就要完了,可是还有一个特别难的问题,就是内存不够用,要做一个状态机类型的程序,存储每一路分机的状态,每一路分机有4种状态,一共有30路,可是只剩下10个字节了,怎么办啊?

使用特权

评论回复
5
JayGong| | 2011-4-27 22:13 | 只看该作者
2#老鱼说的对,编译器会预留一些给局部变量。内存不够说明你选型就有问题!

使用特权

评论回复
6
JayGong| | 2011-4-27 22:20 | 只看该作者
看看能不能用PIC16F1823,同样是14脚,RAM为128,应该够用了!

使用特权

评论回复
7
yewuyi| | 2011-4-28 08:44 | 只看该作者
我*。内存只有64个字节,为什么我用到90%左右就不能用了,PIC16F630的型号!
yujie870705 发表于 2011-4-27 11:50


有很多可能,但只要熟悉C语言的话,你自己肯定能找到原因,别人猜是不可能猜准确的。

使用特权

评论回复
8
yewuyi| | 2011-4-28 08:46 | 只看该作者
什么都难不倒我的!哈哈,马上项目就要完了,可是还有一个特别难的问题,就是内存不够用,要做一个状态机类型的程序,存储每一路分机的状态,每一路分机有4种状态,一共有30路,可是只剩下10个字节了,怎么办啊? ...
yujie870705 发表于 2011-4-27 18:07


这可没有什么好办法,看看优化其它方面的代码行不行吧

使用特权

评论回复
9
dodome521| | 2011-4-28 10:45 | 只看该作者
每路分机4中状态,也就是每个分机的状态只要2位就可以表示了,30个分机也就是用2×30=60个位,10个字节有80个位,还有剩呢,呵呵,怎么会没办法了。

使用特权

评论回复
10
yujie870705|  楼主 | 2011-4-28 12:01 | 只看该作者
本帖最后由 yujie870705 于 2011-4-28 12:02 编辑
每路分机4中状态,也就是每个分机的状态只要2位就可以表示了,30个分机也就是用2×30=60个位,10个字节有80个位,还有剩呢,呵呵,怎么会没办法了。
dodome521 发表于 2011-4-28 10:45

分机号用2位表示不了的,2位只能存4个分机号。。关键是要存分机号,还要存他的状态,至少要1个字节再加2位

使用特权

评论回复
11
yujie870705|  楼主 | 2011-4-29 10:45 | 只看该作者
搞定啦,谢谢大家的批评与指导,终于OVER了这个项目,以后搞PIC也有信心了!虽然进度是慢了点,呵呵

使用特权

评论回复
12
yujie870705|  楼主 | 2011-4-29 11:36 | 只看该作者
谢谢啦,呵呵,可惜没奖金的,穷开心罢了!

使用特权

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

本版积分规则

4

主题

225

帖子

1

粉丝