要完成 Danny_ds 答案:
Arduino(和 8 位 AVR)的“标准”Atmel 编译器现在是avr-gcc
GCC 代表 GNU Compiler Collection(因此,一个免费软件工具)。
它是 Arduino IDE 以及 Atmel Studio 使用的工具链。请注意,Atmel Studio 是可配置的,它可以使用另一个工具链/编译器(有人告诉我它至少存在 8 个 AVR 编译器)。
要了解如何在 Atmel Studio 中导入 Arduino 草图,最好了解 arduino 是什么:
- 由 Atmega328 芯片驱动的“面包板”
- 一个库(
#include <Arduino.h>
以前是 Program.h IIRC 时导入的 API)
- 一个 IDE,可以完成所有的编辑器和“makefile”工作
让我们弹出堆栈:
首先,您可以使用自己的编辑器和 makefile 清除 Arduino IDE。请参阅github 上的 Arduino Makefile以轻松切换到此文件。这样做,您可能必须在您的草图中添加 Arduino.h。但是您可以完全控制源代码树的处理。这就是我提早退出 Arduino IDE 时的动机,因为那时不可能在同一个草图中使用 2 个库,这是 Arduino-Makefile 所允许的。
其次,如果您不打算使用Serial
该类(驱动 UART/USB 接口与Duino进行控制台文本通信),则很容易删除依赖项……我尝试了,我得出了结论重写函数如setMode()
,digitalRead()
和 write 等是显而易见的:只需与您的代码并排打开 PDF 数据表并相应地设置位。
ADC 转换、定时器/计数器管理、eeprom 读/写甚至 UART 连接驱动都比较棘手,因为它们意味着直接驱动 AVR I/O 寄存器,并了解您正在与之交互的子系统......但并非不可能!!
此外,除了 Arduino 之外,很可能还有(免费)库来推动这些工作。
在这一步之后,您的源代码树可以在 Studio 中按原样导入,并且(假设您的编译器仍然在 GCC 上设置,并且 Atmel Studio 知道您的依赖项),它将无缝编译。
因此 Atmel Studio 只需在项目中导入 Arduino 库(并且可能添加一些头文件,因为我们必须手动执行)以将其编译为本机项目。
请注意,插入一些现有文件,特别是整个现有目录对于 Studio 来说是一件很痛苦的事情。