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

电器工程 Arduino 编程
2022-01-16 10:55:38

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

2个回答

绝对可以使用替代语言进行 Arduino 开发,但不一定使用标准 IDE。这是因为,在一天结束时,C/C++ 代码被组装成 Arduino 板上 AT 芯片的字节码。您可以使用的一种语言是Céu,它是 C/C++ 的高级版本。您将遇到的主要问题是为您选择的语言找到一个编译器 - 最终,您可以编写自己的编译器 - 但是,这无论如何都需要对 C/C++ 有深入的了解。因此,至少目前最好还是坚持使用 C/C++。

编辑:您稍微改写了您的问题,所以是的,可以用 Python 对您的 Arduino 进行编程(语言选择不佳,尽管这只是我的观点),但您需要一个不同的 IDE/一个自定义编译器,原因是更多。此外,在为 Arduino 链接以不同语言编写的库时,您必须小心(因为它们都是 C/C++)。

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

不过,理论上也不是不可能的。您只需要为芯片编写一个编译器并定义内置函数,然后通过串口传输编译好的代码。或者你可以编写一个 python-to-c++ 翻译器并让它工作。

如果您喜欢 .NET,您可能需要查看NetduinoAVR 似乎也有一个 Java 运行时环境,称为NanoVMBASIC还有dk-basic不过,我还没有尝试过这些。