我想使用 Emacs 作为 Arduino 编程的开发环境。使用 Emacs 对 Arduino 进行编程有哪些技巧或链接?
是否有官方(或事实上的)Emacs 模式?
另外,如果我只使用 Emacs,我会错过 Arduino IDE 中的某些内容吗?
GitHub 上有一个不错的Arduino 模式。
只是包装了 cc-mode,但它做得很好。
更新:
EmacsWiki 有一个专门介绍 Ardunio 对 Emacs的支持的页面。设置有几个步骤,但一旦完成,您就可以从 Emacs 内部编译和上传草图。
您可以启用外部编辑器选项,允许您使用外部编辑器编辑项目,然后将 Arduino IDE 用作某种终端,仅用于编译和上传。
我只是在 Emacs 中编辑东西,然后切换到 IDE 以点击编译和上传。不需要makefile。
Arduino 代码只是穿着裙子和帽子的 C++。您应该能够在 Emacs 中毫无问题地使用该模式。您可能会错过一键编译和传输按钮,以及官方 IDE 中库的组织。当然,您可以在 Emacs 中进行复制。官方 IDE 没有什么是 Emacs 做不到的。
Emacs 工具 CEDET 支持使用 Arduino 进行编程。在我写这篇文章时,可以从 cedet.sf.net 获得 CEDET 1.1 或更高版本的支持。
它具有为 CEDET 描述的所有开发功能,以及仅 Arduino 的功能,例如将您的程序上传到 Arduino。在这里查看更多:
http://www.randomsample.de/cedetdocs/cedet/Arduino-Features.html
我使用这个 Makefile,我发现它非常有用。
http://ed.am/dev/make/arduino-mk
如前所述,您不需要任何外部模式。
由于我是一个对学习 Arduino 感兴趣的新手,所以我编写了一些小程序。我决定在一个目录中进行,而不是创建几个子目录,每个片段一个,然后将 makefile 放在每个目录中。
这样我就可以构建最后编辑的源文件 (*.cc) 。这是我当前的 Makefile。
SOURCES := $(shell ls -tp *.cc | grep -v /$ | head -1)
BOARD := uno
LIBRARIES := Stepper
include ~/arduino/arduino.mk
Arduino IDE在后台使用的命令经常变化,所以上面的信息可能已经过时了。我目前正在使用 IDE 版本 1.6.4。
要找出当前的命令,在 Arduino IDE | 文件 | 首选项,选中“在 x 编译 x 上传期间显示详细输出”。然后您可以在 IDE 日志窗口中看到完整的命令,并调整您的 Emacs Makefile 以使用它们。
对于 IDE 1.6.4,针对 LilyPad Arduino 板,显示编译器的 avr-gcc 和上传器的 avrdude。
在 Emacs 中选择 C++ 模式,然后在 Arduino IDE 中运行文件。如果要在 Emacs 中编译,请选择 avr-gcc 作为编译器,并选择 avrdude 作为上传器。制作愉快!