Mat*_*att 3 javascript c compiler-construction microcontroller arduino
我意识到这个问题会引起一些人的注意,我意识到JavaScript传统上是一种解释性语言,请让我解释一下:
我是专门从事Web应用程序(特别是.NET堆栈)的软件工程师.作为一个爱好,我喜欢创建在基于Arduino的组件上运行的RC无人机.
还有其他一些我想和Arduino做的事情,但是,坦率地说,C/C++不是我最强的语言,而且我不想花费有限的业余时间在C上读书.
我发现 - 我相信其他许多人 - 如果用于与之交互的语言更为常见,那么Arduino /嵌入式生态系统将会更加丰富.JavaScript对我来说似乎是一个很好的选择,因为大多数软件开发人员都知道它,并且在JavaScript世界中构建开源框架和插件的文化非常强大.
那么,回到我的第一个问题:如果我想能够在JavaScript中为我的Arduino编写和编译代码,我将如何开始?我当然正在设想一个开源项目,但我需要一些帮助来获得牵引力.我从来没有编写过编译器,所以对任何帮助表示赞赏.
Joc*_*ckM 10
这是一个很好的问题,Arduino UNO,LEO等的微控制器是ATmega328p,它有32K闪存用于程序存储,2K RAM和2K EEPROM(用于持久存储).这对于像Javascript这样的语言来说非常紧张.
现在有人为ATmega128编写了一个Javascript编译器,您可以在Arduino Mega中找到它,它具有4K的RAM和更多的闪存.
如果你升级到Arduino DUE,Arduino Zero或Teensy 3.x--所有这些都是基于ARM的 - 那么你可以查看Espruino这是ARM的JavaScript版本,但你仍然需要移植它到Arduino硬件.
因此,如果您真正想要的是可以运行JavaScript的嵌入式主板,那么我只看一下Esprino主板本身.
最后,如果你仍然为ATmega328p设置JavaScript,那么你应该考虑为JavaScript语言的一个子集编写一个JavaScript到C++的转换器.这样做的范围远远超出SO回复,因此我建议从着名的Dragon Book开始,因为它仍然可能是学习如何编写编译器的最佳资源.