SS15 发表于 2011-11-10 23:02:11

arduino,我建议一步到位直接上mega2560/1280

先说一下自己的背景,纯 Windows 程序软件开发人员,从VC4到今天主要用VC6,偶尔用下VS08、10什么的。其间短时间弄过一下WinCE4.2和EVC4,虽然上学时学的是偏硬件专业,但后来走上了邪路干了软件开发。导致目前硬件知识基本为零,两周前才基本搞清楚串口RS232电平与TTL电平的区别。

arduino是个非常好的东西,好处自不用多说。我觉得最大的问题,从我程序员的角度来看,编译调试环境太恶劣了,单步跟踪、监视压根没有。据说别的单片机有个叫仿真器的东西,但是Arduino截至目前好像没有。

为何我推荐2560而不推荐328或是uno,原因很简单,2560的硬件资源比328强太多了。54个数字口相比328的13个几乎就是无穷无尽足够用了;2560有4个串口328有且仅有一个;2560有8K的SRAM、256K的Flash,而328只有2k及32k。

我觉得串口数和存储空间这两点特别重要。尽管arduino体系可以使用软串口,但就是这个软串口前些天让我吃尽苦头,我在328上用硬串口和一个手机模块进行通讯,115200的波特率。同时还用了几个软串口干其他事情。结果硬串口出现了偶尔丢数据的情况,想尽一切办法都无效。把系统挪到2560上也没用。最后死马当活马医,把软串口全部清除出去,所有事情用硬串口来干。丢数据的情况就再也没有出现过,同样的代码。

328上程序大小不能超过31K左右,受这个限制,在程序结构的可理解性可维护性上有时候就不得不向有限的空间作出妥协,被迫设计一些精巧但是晦涩的代码实现,这样必然给后期调试带来很大的麻烦。再加之Arduino贫弱的调试环境,我感觉调一个1千行的Arduino程序简直比调个1万行的VC程序还跟费力。作为Windows程序员,我还是更愿意以牺牲一点必要的资源占用和运行效率来换取清晰易懂易扩展的程序结构。在这点上,2560有256K的程序空间足够足够用了。

等到2560玩熟了,自己再回头焊几个168或是328也不迟,反正这几种芯片便宜得很。入门初期用2560可以省掉很多不必要的麻烦,我认为。




弘毅 发表于 2011-11-10 23:38:11

:lol不错的建议,看看风叫兽啥时候能做出来便宜的2560,这样就好普及了~~~

三水 发表于 2011-11-11 16:40:32

强烈要求楼主写点VS2010 2008的经验指导

远远 发表于 2011-11-11 18:33:58

又学习了!!!!

Ansifa 发表于 2011-11-11 22:26:26

本帖最后由 Ansifa 于 2011-11-11 22:27 编辑

我就不太赞成了,毕竟初学者未必会玩的很深,说不定一阵兴致过后就不玩了,2560浪费金钱,而且一旦坏了又不能更换主芯片.
而且楼主一直说的2560优点无非三点.串口多,程序空间大,脚多
但是楼主看看网上大部分的例子,有几个是用到2560那么夸张的?接一个LED,一个电位器那些实验也用不到那么多脚.而且作为一个Windows程序员,是不应该玩arduino的.建议直接上单片机吧.STC和ARM和PIC都行...玩arduino入门的话就是要精简,快速...

ardyPro 发表于 2011-11-11 23:30:02

这个跟应用需求有关系,平常学习的话,UNO足够了。话说我当时也是跟SS15的想法差不多,买了MEGA1280,不过迄今为止只用上1/3的串口 :lol

Arduino不能调试这个相当郁闷,尤其像我们新手,程序中的问题会更多,IDE提供的出错信息有时候摸不着头脑。不过很在意这点的话,可以使用netduino,采用C#编程语言,支持调试。

SS15 发表于 2011-11-12 14:13:51

本帖最后由 SS15 于 2011-11-12 14:15 编辑

三水 发表于 2011-11-11 16:40 static/image/common/back.gif
强烈要求楼主写点VS2010 2008的经验指导

关于 arduino 的?在这里:
http://www.geek-workshop.com/forum.php?mod=viewthread&tid=129&extra=page%3D1

Windows程序我一般都使用VC6写,不得已才用VS08。

SS15 发表于 2011-11-12 14:32:38

2560 浪费钱也浪费不到什么地方啊,1280 也就比UNO贵几十块钱而已。建议大家在淘宝上好好找找,不同的店家价格相差还是有点的。

C语言里面 hello,world! 能干什么?没什么实际用处,但C语言能做什么?几乎无所不能。Arduino的例子与Arduino的应用之间的关系就是这个道理。

328也还是好用的,但是软串口不给力,等我忙完这阵我好好测一下,究竟是软串口本身设计存在缺陷呢还是跟特定的针脚或是通讯速率有关系,毕竟我用的115200可能有点偏高。

我的2560的四个串口,一个拿来做下载和调试数据输入输出用,一个接手机模块,一个接GPS,一个原来用来接串口LCD现在计划用TFT代替,改作接串口摄像头。4个串口就全占满了。如果还要考虑到多个Arduino之间的互相通讯,那就没得串口可用了。





弘毅 发表于 2011-11-12 15:11:49

SS15 发表于 2011-11-12 14:32 static/image/common/back.gif
2560 浪费钱也浪费不到什么地方啊,1280 也就比UNO贵几十块钱而已。建议大家在淘宝上好好找找,不同的店家价 ...

:lol我在研究maple,过两天板子到了。。。。给大家带上新文章。。。328P的大小。。。2560的性能。

Flash: 128 KB
SRAM: 20KB
37*IO
16个ADC
2路硬件SPI
2路硬件I2C
3个硬件串口
15个16位分辨率pwm输出(4个定时器)
1个锂电池管理芯片用于管理锂电池
7 channel DMA

。。。也是arduino一样的语言编写。。。

三水 发表于 2011-11-12 16:36:50

SS15 发表于 2011-11-12 14:13 static/image/common/back.gif
关于 arduino 的?在这里:
http://www.geek-workshop.com/forum.php?mod=viewthread&tid=129&extra=p ...

当然不是arduino的,我想学学用c++做上位机做点应用程序。。学了半个月只会画图

云翼 发表于 2011-11-13 00:44:22

三水 发表于 2011-11-12 16:36 static/image/common/back.gif
当然不是arduino的,我想学学用c++做上位机做点应用程序。。学了半个月只会画图

上位机可以试试delphi

SS15 发表于 2011-11-13 01:37:09

弘毅 发表于 2011-11-12 15:11 static/image/common/back.gif
我在研究maple,过两天板子到了。。。。给大家带上新文章。。。328P的大小。。。2560的性能。

F ...

我个人还是看好 aruino 体系的发展,感觉,只是感觉哈,其他的几种体系:maple、netduino、wiring,火热的程度还有第三方支持的广泛性都不如 aruino,俺觉得这是最关键的。

arduino性能不够强悍?如果不跳票的话,96MHz arm芯片的 Arduino Due 再过一个月就能出来了,性能足够,第三方支持又足够广泛,何乐而不为呢?

2560板子有点大的问题俺也碰到了,我哥们给出的建议是直接上四层板,正在考虑中...


SS15 发表于 2011-11-13 01:40:48

三水 发表于 2011-11-12 16:36 static/image/common/back.gif
当然不是arduino的,我想学学用c++做上位机做点应用程序。。学了半个月只会画图

这个我们比较擅长,做了好几年了,现在做的仪表显示界面都是能够可视化实时编辑的。

对实时性要求高用 GDI 加 双缓冲就足够了
对美观性要求高就用 GDI+,不过可能会慢得要死




弘毅 发表于 2011-11-13 10:10:18

SS15 发表于 2011-11-13 01:37 static/image/common/back.gif
我个人还是看好 aruino 体系的发展,感觉,只是感觉哈,其他的几种体系:maple、netduino、wiring,火热的 ...

arm的arduino也非常期待,就是那个芯片呀。。。。看目前支持的是那么硕大一个,对体积有要求的地方就有点。。。。郁闷了,而且那个芯片价格也不是很亲民。

是否支持以前大量的第三方库,还不清楚,目前RC2的arduino 1.0还没有出来due的支持,感觉due会用专用的IDE。

如果IDE全部重写,不知道系统自带库能有多齐全。。。maple最让新心动的就是stm32的亲民价格,还有有小体积芯片可以选择。。。。

arduino avr系列老底子雄厚。。。在arm方面,不知道这几家哪家会胜出。

三水 发表于 2011-11-13 10:16:25

arm现在st ti nxp at竞争激烈啊。。只用过nxp的,觉得还不错,ti的有一块还没搞清楚怎么用。
页: [1] 2
查看完整版本: arduino,我建议一步到位直接上mega2560/1280