极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 26366|回复: 13

atmega8系统容量问题,太小了,能扩充么?

[复制链接]
发表于 2012-5-3 10:37:09 | 显示全部楼层 |阅读模式
刚开始玩arduino一个月,做了几个atmega8的最小系统,现在问题出来了。编程flash空间小,多放点儿功能就没地方了。
现在了解到eeprom倒是能扩充,而且很便宜,flash怎么扩充不知道,也不知道能不能被arduino支持。难道解决办法只能是换大容量的芯片么??总不能做个什么东西都用328,1280之类的吧,要是功能再多,1280都不够再换2560?
感觉目前lib是占空间最大的,能不能将部分代码编译到扩展的eeprom里,然后即时调用呢?或者有什么办法能扩充容量问题?
哪位大神帮忙回答一下,目前咱还没脱离小白阶段呢,不胜感激{:soso__187047450382421961_3:}
回复

使用道具 举报

发表于 2012-5-3 10:59:22 | 显示全部楼层
一个是原理上讲不通,再说调用EEPROM不是也得消耗空间么
回复 支持 反对

使用道具 举报

发表于 2012-5-3 11:01:05 | 显示全部楼层
mega 8 芯片10块钱,328芯片20块,2560芯片40块
328 32K空间干一般的活足够了,除了硬件端口少点,
2560 256k 空间足够足够用了,硬件端口也够,到了256k空间都不能满足需要的时候,你还满足于8位芯片吗?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-5-3 11:02:32 | 显示全部楼层
那就是说一直换芯片,直到没有芯片换为止?或者直接还是用pc算了
回复 支持 反对

使用道具 举报

发表于 2012-5-3 11:13:15 | 显示全部楼层
这个就是做工程和做研究的不同思路
做工程要求的是以相对最便捷的方式,相对最低的成本达到目标,而不是纠缠在某个细节
做研究嘛,研究如何把 mega8 这个小马驹当千里马使,可能很好玩,但是,这有实际意义吗?
什么样的需求使用什么样的硬件,问题是,你能够充分发挥硬件的能力吗?

328可以跑多线程、具备消息相应和事件队列的RTOS,可以做UAV的飞控,一般的需求,328足够了,除了硬件端口略少
回复 支持 反对

使用道具 举报

发表于 2012-5-3 11:28:41 | 显示全部楼层
arduino就是这样,简单,但是代码庞大,若要代码紧凑高效,那就该直接学单片机
回复 支持 反对

使用道具 举报

发表于 2012-5-3 12:53:48 | 显示全部楼层
其实不少lib内容挺简单的,空间不够可以自己尝试改改,或者参照lib自己写函数吧
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-5-3 13:37:02 | 显示全部楼层
其实本来就是为了玩么…………比如用atmega8+DS1302+1602就做了个电子日历,可实际上一个普通的电子日历才多少钱,还是现成的,还带外壳………… 比自己买芯片,自己写程序,自己焊元件简单多了,就是缺少了动手的乐趣。
回复 支持 反对

使用道具 举报

发表于 2012-5-3 16:43:06 | 显示全部楼层
玩也要有个门槛,老在这个门槛上纠缠,有意思么?至于说跨过了门槛,玩得怎么样,那个就是水平问题了.

花10块钱,从mega8升级到328,用10秒钟,把mega8从插座上拔下来插上328
还是花10块钱配齐扩容的元件,再花上不知道多长的时间来研究如何把mega8扩容,选择哪一个?

诚然,如果要练手要探究原理的话,后者也许更有意思,但是,单片机天地里面值得探究的问题多了去了,何必一定要重复发明轮子呢?尺当然有所短,寸当然有所长,但为什么一定非要强求“寸”在“尺”的领域里有所作为呢?

我的一个程序,上了RTOS,开了3个线程,同时与CDMA 2K模块、GPS模块、1602液晶通讯,设置了一个调试控制台,udp协议接入因特网并实时数据加解密,烧录后程序占用空间大概24K左右,从占用空间来看,328足亦,但是因为串口数量不够(328的软串口会丢失数据,可能是软串口类的bug),所以才用2560。所以我说,一般的应用,328足亦,要求高一点的,2560足够了。





回复 支持 反对

使用道具 举报

发表于 2012-5-3 17:07:33 | 显示全部楼层
本帖最后由 SS15 于 2012-5-3 17:08 编辑
黑马 发表于 2012-5-3 12:53
其实不少lib内容挺简单的,空间不够可以自己尝试改改,或者参照lib自己写函数吧


用AVR C来实现功能封装就好了,但是至少目前我自己不存在这种需求

对运行速度有要求的场合除外,AVR C封装和arduino封装在速度上的差异十分明显。
回复 支持 反对

使用道具 举报

发表于 2012-5-3 18:26:26 | 显示全部楼层
lionelg 发表于 2012-5-3 13:37
其实本来就是为了玩么…………比如用atmega8+DS1302+1602就做了个电子日历,可实际上一个普通的电子日历才多 ...

其实买现成的模块或者主板,价格是贵多了,而且一般的小玩意atmega8也是可以用的,现在不是有IIC的LCD1602的接口模块吗?接法很简单,i就是四根线搞定,程序也很简单!但是有条件或者有基础的还是自己动手好玩点,还可以节约成本!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-5-4 09:58:04 | 显示全部楼层
SS15 发表于 2012-5-3 16:43
玩也要有个门槛,老在这个门槛上纠缠,有意思么?至于说跨过了门槛,玩得怎么样,那个就是水平问题了.

花10块 ...

我不是初学者么,开始研究的就是这个,刚会自己造mega8的最小系统,然后买了20个mega8的芯片,现在芯片多了,想多用它做东西,就碰到了容量不够的问题,现在想的办法就是每个芯片完成不同的东西,然后交互通信。要不然总不能做20个1602的电子台历啊
回复 支持 反对

使用道具 举报

发表于 2012-5-4 10:51:34 | 显示全部楼层
lionelg 发表于 2012-5-4 09:58
我不是初学者么,开始研究的就是这个,刚会自己造mega8的最小系统,然后买了20个mega8的芯片,现在芯片多 ...

额,这样啊。嫩比俺还能买,俺也就一次买了3个328。

这样就更好玩啦,嫩可以做多核系统了,一个mega8负责输入输出、一个mega8负责运算处理,一个mega8负责通讯处理、一个mega8负责总体控制......

我觉得用arduino芯片来做多核系统是件很有意义的事情。

回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-5-4 11:25:21 | 显示全部楼层
本帖最后由 lionelg 于 2012-5-4 11:41 编辑

正看怎么连接N张mega8呢,突然间想起i2c的1602,报价80以上,想直接做,再看i2c pca8574居然也在10以上,还不如直接mega8呢,我买的mega8-16AU才3.9,i2c的价钱够买2个半mega8了
回复 支持 反对

使用道具 举报

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

本版积分规则 需要先绑定手机号

Archiver|联系我们|极客工坊

GMT+8, 2024-4-23 22:26 , Processed in 0.040468 second(s), 21 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

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