毫无疑问,Arduino生态系统的出现在电子爱好者社区内的微控制器使用爆炸中具有预示,我个人非常受欢迎。
从事物的头一个硬件方面,除了从间距误差仍然驱使我疯了这个日期,我与这一切OK。能够购买准备好的MCU板和外围设备很好,我可以快速插上努力尝试。
作为专业的嵌入式软件开发人员,我无法使用事物的软件携手。对于爱好者使用和真正的确实使生活更容易,然而从嵌入式电子产品中建立职业的前瞻性来看,这是我认为Arduino生态系统是一种阻碍。
本网站的读者将注意到尽管发表了许多有关的Arduino相关项目,但我从未生产过单一的草图,而且我从来没有。
在Arduino World中,一切都是在C ++中完成的,这是一种几乎从未在此设置之外的8位微控制器中使用的语言,因为它对工程链和编译代码的开销增加了显着的复杂性。实际上,它没有任何必需的需求,所以没有一个困扰。在此之上,许多Arduino库写得很差,效率低,通常潜入浮点算术,即使没有必要,即使是必要的,立即将几千字节添加到编译的代码大小。
做一切arduino的方式,它很容易最终无法装入一个大型32k部分,然后需要达到昂贵的较大64k或128k零件,这实际上,有效的编码,你可能会进入16k部分。在生产中,这将节省大量资金,最终从您的产品中获利。
虽然Arduino生态系统内的可移植非常出色,但在现实世界中,您可能不会有机会指定要使用什么样的微控制器。您被硬件团队的某些东西给出了一些东西,或者必须在应用程序特定IC中使用一些模糊架构的嵌入式MCU。它可能有一个C ++编译器,它甚至可能模糊地工作,更有可能,但是它将在C中编程。
如果您在Arduino平台上进行了原型,并且发现在生产时,另一种类型的平台最适合商业原因,您不会很好地定位,以便将代码港口港口侵入,因为它可能是错误的语言,而且,由于Arduino一直在照顾所有这些时间,所以学习曲线将是陡峭的,可能在最糟糕的时间内冒着恶魔的技术细节来努力。
开始思考您建造的产品的长期前景永远不会太早。它总是住在Arduino吗?
也许是Arduino的最大诱惑是您不必关心编程微控制器的任何杂乱细节。一切都是可爱的IDE和目标库代码隐藏的。概念上这很难争论。最终,我们只是想继续并专注于我们关心的比特。
问题是,在商业产品开发中,几乎在日常基地的隐藏细节中出现了困难问题,而你作为工程师必须处理它们。当您已经通过从地上实施所有内容的过程时,解决这些问题是更快的更易于解决。
多年来,我已经为几个不同类型的微控制器和应用程序建立了一系列巨大的司机,图书馆和完整的工作样本,我经常使用,所有人都在C.过去3年里,我一直在移动一些(特别是AVR目标项目)进入我的公共GitHub存储库。大部分地预测了第一个Arduino的引入。
这也是在商业环境中。您可以随时间建立所需的一切,针对您的要求优化,最佳性能和最低成本,并以易于根据需要从平台移动到平台的方式。
我不是向Arduino生态系统的竞争提供代码,确实会说明它,如果它为您工作,请坚持下去。而不是在意义上:“如果你有兴趣了解arduino世界之外的东西,这就是一个例子”。