我正在为一些有趣的家庭爱好项目购买NetDuino。
你们中有人使用过吗,您的经历如何?
我应该看看Arduino还是FreeDuino系列(或完全不同的东西)?
由于我的C#知识,我决定坚持使用NetDuino,但这不是必须的。
谢谢
PS。我不确定这是否属于社区Wiki(感谢指导)。
我正在为一些有趣的家庭爱好项目购买NetDuino。
你们中有人使用过吗,您的经历如何?
我应该看看Arduino还是FreeDuino系列(或完全不同的东西)?
由于我的C#知识,我决定坚持使用NetDuino,但这不是必须的。
谢谢
PS。我不确定这是否属于社区Wiki(感谢指导)。
Answers:
我喜欢C#,并且发现使用Visual Studio在C#中进行开发可以提高生产力,这是支持Netduino的一个非常重要的因素。我不会抱怨Netduino,因为“ C#不适用于微控制器/嵌入式环境”,如此处的其他答案所示。
您可以制作有趣的项目,并学到很多有关如何使用Netduino连接不同的物理输入和输出设备的知识,就像您可以使用Arduino或“裸机”并进行AVR,PIC或其他微控制器的直接MCU管理一样。
出于上述原因,出于以下原因,我坚持使用Arduino:
因此,我想说,如果您的C技能尘土飞扬或不存在,您会喜欢C#和Visual Studio,并且只想修改一些业余项目,而这些项目不需要扩展到成本成为更大问题的地方,那就去Netduino。
如果您对C感到满意,或者愿意在代码示例和社区的帮助下熟悉C,并且想要更接近金属,并希望最终摆脱Netduino和Arduino的“原型”方法,请去Arduino入门。
无论如何,您的C#知识在嵌入式平台上几乎是无用的,因此不要对此施加太大的重视。
我会使用Arduino或其中一个克隆,不是因为.Net是魔鬼,而是因为其他人都在使用它,所以您将可以轻而易举地获得帮助并简化人们的代码。
一旦弄湿了脚,就一定要尝试其他方法。
我目前有一个Arduino,mbed,最后是一个Netduino供我开发/业余爱好者使用。我从来不喜欢使用Arduino,可能是因为编辑器不是很好,而且我肯定是C#开发人员的宠儿。当我收到mbed时,我非常喜欢这种形式的开发,但是调试仍然很痛苦,因为您必须使用print语句来确定发生了什么。
当您开发产品时,或刚开始搞混时,一开始的大部分时间都花在了调试上……而在调试时,您希望拥有断点。我很难回到不提供任何断点的嵌入式硬件。
我还没有JTAG的经验,但是直到现在为止我所见过的每个micro芯片(RabbitCore模块除外)都要求它允许通过断点进行调试。想象一下,当我今天连接Netduino并能够单步浏览VS2010中的代码时,我会感到惊讶!我对此感到非常高兴。
就我个人而言,我不会担心脚印的大小,.NET和Microsoft的弊端等等。我只关心能够快速,高效地进行调试,因此可以完成工作。
就个人而言,我不喜欢C#或.NET。我是C luddite。因此,我选择的平台取决于我想要的硬件功能(闪存,RAM,时钟速度,ADC数量,计时器数量等)。
就是说,我可以想象C#/。NET对快速原型制作很有用:
当然,这一切都是有代价的:
而且,最重要的是,通过在嵌入式平台上使用C#技能,您实际上并没有学到任何有关嵌入式设备的知识。
是的,它可以完成工作-但是,这样做的乐趣在哪里?
我主要是C#开发人员。由于源代码的可用性,我购买了Arduino而不是Netduino。将Netduino与Arduino电子积木集成起来并不容易,因为您必须从头开始重写一些示例。
在阅读“ C#不适合嵌入式平台”时,请记住,年龄超过一定年龄的人已经听说过至少有一次关于“ C”,然后再谈到了C ++。
当然,这是对处理器基础功能的巨大“浪费”,但是使空闲循环运行的速度比您所需的速度快1000倍,而不是比所需的速度快10倍,这永远不会使任何人变得富有。
如果您想摸索裸机,例如能够直接生成或捕获视频信号,那么每个周期都很重要,AVR / Arduino可以让您做到这一点。如果您想要更高级别的抽象,更高级别的编程和调试舒适度,垃圾收集器,并且可以忍受像Windows之类的事物无法控制一切的事实,请选择NetDuino或FEZ Domino。既然两者都内置了ARM,我敢打赌,如果需要,您可以在板上杀死.NET MF,并借助小型JTAG调试器直接从某些Eclipse(如IDE)中刷新裸机ARM GCC代码。调查一点。问题可能是,如果缺少JTAG标头,则需要进行一些焊接。