小议 【Arduino 代码效率低的解决方案】-Arduino中文社区 - Powered by Discuz!

Arduino中文社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 4757|回复: 3

小议 【Arduino 代码效率低的解决方案】

[复制链接]
发表于 2013-12-8 22:50 | 显示全部楼层 |阅读模式
        并非吐槽,前段时间由于项目需要,所以找回遗弃已久的 AVR(现在一直用的是飞思卡尔ARM),发现居然有 Arduino这么个东西。。。

        但是就觉得好神奇,把原本复杂的语句写的很好理解(感觉新手上手很容易吧),内心十分敬畏{:soso_e179:}

        但是随后发现有一个很严重的毛病,那就是代码效率太低了,。随手写了个LCD的程序就用掉了近  2K的 Flash空间。。{:soso_e136:}

         也许在ARM平台上,程序空间够大会不在乎,。但是像8位单片机这种东西,本身资源比较紧凑, 容不得马虎,。。于是用WINAVR吧整个项目写下了,也就花了 7K左右的空间。。还是挺满意的了。。但是心里还是会时常想起 Arduino这个我觉得很神奇的库。。

         回过头,吧Arduino的库看了一遍,也逛了逛论坛。。终于知道为什么代码效率这么低了。。原来为了简便,arduino吧I/O口读写 已经一些ADC什么的写成通用的库,吧I/O口映射为一定的数字。。{:soso_e179:}

         我觉得 Arduino 是很成功的,成功在于降低了AVR编程的门槛!!  但是自身代码效率低 也导致他只适合 业余编程的人使用, 不是很适合专业(商业)使用。。

         于是我觉得可以采用一些方法在Arduino 简洁的库的使用下, 增大代码效率。。后来看到有 Arduino-Lite库,,很不错的东西,只是很多人不知道怎么去使用它。

         我的想法是讲WINAVR写的库的I/O 口在调用函数中定义,这样是不是会达到节约空间的效果(虽然会麻烦些)。。当然 只是想用Arduino 业余写写代码的无视我==我觉得我就一来捣乱的{:soso_e141:}
发表于 2013-12-9 01:17 | 显示全部楼层
楼主说的很对,但仅适用于大规模生产,需要降低单个成本的项目上~~~
一般的项目,多用点flash也没啥~~~功能实现才是第一位,而且开发效率还会提高很多。
发表于 2013-12-9 03:31 | 显示全部楼层
arduino最初發展的目的只是為了讓初學者容易上手,並不是為了量產
发表于 2013-12-9 10:36 | 显示全部楼层
解决方案还是有的,你可以在arduino上使用Forth语言和工具,代码相当紧凑,而且速度与avr汇编相当,下面是链接:
http://amforth.sourceforge.net/
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|Archiver|手机版|Arduino中文社区

GMT+8, 2025-1-1 21:19 , Processed in 0.142934 second(s), 16 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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