Netduino与Arduino的对比

 
之前在《 为什么Google选择 Arduino很重要》中提到过 Netduino,Phillip Torrone大胆预测它将会成为Window Phone 7+以后的“ADK”。今天我们就来了解一下Arduino的这位表哥,做个对比。

前言
和Arduino一样,Netduino也是开源的,价格也不高(标准版$30-$35,Arduino Uno 32.95)。由于基于微软的 .NET Micro Framework, Netduino只支持C#。与Arduino本质的不同是Netduino是基于 ARM的。Arduino所用的ATmega328/ATMega8U2是标准的16MHz的8位处理器,而Netduino所用的是 Atmel的32位ARM7,频率48MHz。其实现在很多笔记本也都由x86改用了ARM。夸张点说这两者的对比就像自行车跟卡车放一起,128K内存(包括.NET runtime, Arduino只有32K),60K RAM(Arduino:2K),Netduino就是更快,更高,更强。
外观
Netduino沿用Arduino架构,板的大小, 电源接口,USB接口都和Arduino相同。USB改进了Arduino的B型USB,改成了大多手机上采用的mini USB。有同样的复位按钮,电源 LED。pin13也有LED,但位置不一样。RX和TX没有LED。

开发环境
Netduino的IDE就是Visual Studio, 编程语言是C#,这对于熟悉C#的人是个大好的消息,这里值得一提是Netduino对仿真和在线调试(in-circuit debugging)都支持, 也就是说你可以在代码里随意设置断点进行调试,而在Arduino环境下,你无法调试。另外一点,C#本身语言的特点,让代码更容易阅读,还支持事件机制!
能跟Arduino直接替换?兼容Arduino扩展板?
答案是否定的。主要原因是Netduino的内部电压与Arduino不同。
名称 区别
芯片电压 Netduino的CPU运行电压是3.3V,不像Arduino是5V
Digital I/Os 0V 到 3.3V, 不是5V.
Analog Inputs 不能高于3.3V!
PWM 输出 PWM 常被当做模拟输出用。同样最高电压平均是3.3V,而不是5V。
Libraries 与Arduino不兼容,如果要用就要用C#重写了。
USB口 mini USB connector
I/O 电流 CPU最大驱动8mA电流,比Arduino小。
CPU Netduino:32位Atmel ARM vs. Arduino:8位 ATmega
频率 Netduino:48MHz vs. Arduino:16MHz
内存 Netduino:128K vs. Arduino:32K
RAM Netduino:60K  vs. Arduino:2K
EEPROM Netduino没有
在线调试/In-circuit debugging Netduino有,Arduino没有
仿真/Emulation Netduino有,Arduino没有
价格 Arduino Uno 差不多$30, Netduino标准版是 $35
更多
Netduino除了标准版之外,还有 Netduino plus($60)和 Netduino mini($30)版本,Netduino plus直接板载了网络模块和Micro SD卡槽,Netduino mini类似Arduino Mini,大大缩小了大小。


总结
通过以上的对比,可以说Netduino的确是个潜力股,随着社区力量的贡献,libraries,扩展板,代码实例会增多,然后又是一个诱人的生态系统了。假如你有以下几类需求的话,Netduino会是你不错的选择:
  • 喜欢,习惯或者精通C#和Visual Studio开发环境
  • 项目代码量很大,系统复杂,希望有debugging环境
  • 追求性能,更快,更强
但如果你迷恋Arduino免费庞大的扩展库、多样的扩展板,海量的 教程,你还是好好搞Arduino吧。
参考
Netduino Site
Netduino Getting Started PDF
Atmel Microcontroller Data
Atmel Microcontroller Full Datasheet
Netduino Schematic
Netduino Forums
Microsoft Visual C# Express 2010
.NET Micro Framework SDK v4.1
Netduino SDK v4.1 (32-bit)
Netduino SDK v4.1 (64-bit)
.NET Micro Framework Reference
该文不完全参考翻译自: http://vanceswers.wordpress.com/2010/11/19/netduino-vs-arduino/

你可能感兴趣的:(.net,C#,express,扩展,reference,debugging)