如何用C ++编写arduino

最近我一直在玩我的arduino,我想知道是否有某种方法可以用c ++编写arduino。 我一直在做的是使用vim中的c ++ /处理语言编程并使用makefile编译并上传到arduino。 但我的目标是能够使用类和所有优秀的C ++特性(或至少总和)来编程。 最终我甚至喜欢用原始c编程,我只是在找到如何做的麻烦。 如果有人能指出我正确的方向或帮助我,那将是很棒的。 谢谢! 〜迈克尔

以下是我的经验:我正在为使用Arduino,传感器,电机,LED和蓝牙的自闭症儿童构建机器人智能玩具。 我编写了自己的库来完成我使用C ++所需的工作。 但我发现Arduino IDE编译器是旧版本,不支持新的C ++ 11function。

所以我必须找到一种编译C ++ 11代码并将其上传到我的Arduino的方法。 事实certificate它是“非常”基本的:我需要一个Makefile,avr-gcc 4.8工具链和voilà! makefile作业由Sudar( https://github.com/sudar/Arduino-Makefile )完成,效果很好。 我必须对它进行一些自定义,以使其适用于我的项目。

这是我为我的项目编写的一些文档。 你应该看一下,它可能对你有用。 https://github.com/WeAreLeka/moti/blob/master/INSTALL.md

希望能帮助到你! 干杯:)

编辑08/16/2014:

因为我从朋友和其他开发者那里得到了很多与此类似的请求,所以我决定建立某种框架来快速轻松地启动和运行Arduino项目。

这是Bare Arduino项目

希望它可以提供任何帮助! 如果您发现我可以做得更好的错误或东西,请随意填写并发布。 🙂

Arduino IDE支持的语言基本上是C ++,Arduino程序员实现了一些额外的function。 此外,在草图中,您只需编写setuploop例程(当您成为更高级的程序员时,您最终会遇到其他一些例程)。

在草图中,您可以在库中定义类,并使用Arduino IDE包含该库。 Arduino IDE实现了一个Atmel编译器,可以为Arduino的处理器创建代码(有几种型号)。 你可以在Arduino IDE之外工作(听起来像你),但你仍然需要一个针对正确的Atmel处理器的编译器。

最后,C ++类可能会变大,因此在某些时候,您的源代码将超出处理器可以存储的内容。 所以,Arduino类很稀疏而且非常重要!

首先,我会使用Arduino IDE并编写草图(无论如何都是C ++)。 并且在场合允许的情况下,您可以使用C和/或C ++编写自己的库。