是否可以用其他语言编程Arduino?


11

是否可以使用不基于C / C ++的其他语言对Arduino进行编程?这样做需要什么?我知道其他IDE可用,我对实际的编程语言感到好奇,例如能够以Python编写Arduino。


我已经编辑了问题,以澄清我在说的是语言,而不是IDE。
nathangiesbrecht

2
如果您是C#,请查看Netduino。
凯文·马克

1
@KevinMark有一个小问题,他可能无法使用Netduino(例如,需要添加Mega的端口)。
极地

@Polar我相信Netduino Go还有其他连接选项。
凯文·马克

1
@powtac字符串是特定于Arduino的吗?我不知道为什么我的代码中会有那么多……
Polar

Answers:


5

使用Arduino进行开发绝对可以使用其他语言,而不必使用标准IDE。就像这样,最终,C / C ++代码被汇编为用于Arduino板上AT芯片的字节代码。可以使用的一种语言是Céu,它是C / C ++的更高版本。您遇到的主要问题是找到适合您选择的语言的编译器-最终,您可以编写自己的语言-但是,无论如何,这都需要熟悉C / C ++。因此,至少暂时而言,最好还是坚持使用C / C ++。

编辑:您已经稍微改写了您的问题,所以是的,可以用Python对Arduino进行编程(语言选择不佳,尽管那只是我的看法),但是出于这种原因,您需要使用其他IDE /自定义编译器以上。另外,在链接以另一种语言编写的Arduino库时,您必须要小心(因为它们都是C / C ++)。


这真的是能够对Arduino的运行python(除了Arduino的米加,反正)。该蟒蛇上的单芯片项目正在开发一款紧凑Python运行时,它需要SRAM的至少〜8KB。
康纳·沃尔夫

1
Python确实非常不适合内存受限制的小型环境。
康纳·沃尔夫

2
@ConnorWolf有两点:1)我以Python为例作为问题使用-无论如何我都不喜欢Python。2)从理论上讲,您可以将Python转换为C,然后避免在引导程序顶部使用Python运行时。
2013年

1

看起来,除了Assembly / C / C ++(以及Polar的回答中提到的Céu,尽管它只是被翻译成C ++),目前没有任何其他方法可以轻松地对Arduino进行编码。但是,您可以使用多种语言与arduino进行交流

但是,从理论上讲,这并非不可能。您只需要为芯片编写一个编译器并定义内置函数,然后通过串行端口传输编译后的代码即可。或者,您可以编写一个python-to-c ++转换器,并使它正常工作。

如果您对.NET 感兴趣,则可能需要查看Netduino。AVR似乎也有一个Java运行时环境,称为NanoVM。BASIC 也有dk-basic。不过,我还没有尝试过这些。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.