Atmel在他们的网站上说:
Atmel Studio 7具有无缝一键导入Arduino开发环境中创建的项目的功能。您的草图(包括它引用的任何库)将作为C ++项目导入Studio 7。导入后,您可以利用Studio 7的全部功能来微调和调试您的设计。 Atmel Studio 7完全支持Arduino Zero板上功能强大的嵌入式调试器。对于其他Arduino板,可提供暴露调试连接器的屏蔽适配器,或切换到许多可用的Xplained-Mini / PRO板之一,以充分利用Atmel HW生态系统。无论你选择什么,你一定会做出惊人的事情。
我想知道它是如何工作的?它只是一个插件(visual-micro)意味着我们还需要安装Arduino软件吗?或者他们有自己的编译器和调试器?
答案 0 :(得分:1)
Arduino代码只是简单的C ++代码(包括一些C ++库)。
不同之处在于,在Arduino IDE中,您看不到所有代码。例如,setup()
隐藏并在幕后编译。
在Arduino草图中,只有loop()
和main()
可见,但这些是从隐藏的loop()
(重复调用button.layer.borderColor = UIColor.grayColor().CGColor
button.layer.borderWidth = 1
button.layer.cornerRadius = 8
)调用的。
因此,Atmel C ++编译器编译在Arduino IDE中创建的草图应该没有问题,因为它已经是一个完整的C ++项目。
答案 1 :(得分:1)
完成Danny_ds的回答:
Arduino(和8位AVR)的“标准”Atmel编译器现在是avr-gcc
,GCC代表GNU编译器集合(因此,这是一个免费的软件工具)。
它是Arduino IDE以及Atmel Studio使用的工具链。请注意,Atmel Studio是可配置的,它可以使用另一个工具链/编译器(有人告诉我它至少存在8个AVR编译器)。
要了解如何在Atmel Studio中导入Arduino sketche,更好地了解arduino是什么:
#include <Arduino.h>
以前是Program.h IIRC导入的API)让我们弹出堆栈:
首先,您可以使用自己的编辑器和makefile清除Arduino IDE。请参阅Arduino Makefile on github以便轻松切换到此。 这样做,您可能需要在草图中添加Arduino.h包含。但是您可以完全控制源树处理。这是我的动机,在早期退出Arduino IDE时,因为到那个时候不可能在同一个草图中使用2个库,Arduino-Makefile允许。
其次,如果您不打算使用Serial
类(驱动UART / USB接口与 Duino 进行控制台文本通信),那么就很有可能会删除依赖...我尝试了,我得出结论,重写函数如setMode()
,digitalRead()
和写等等......只是 THE 显而易见:只是用您的代码并排打开PDF数据表并相应地设置位。
ADC转换,定时器/计数器管理,eeprom读/写甚至UART连接驱动都比较棘手,因为它们意味着直接驱动AVR I / O寄存器,并了解您正在与之交互的子系统......但并非不可能!!
此外,除了Arduino之外,很可能有(免费)图书馆可用于推动这些工作。
在此步骤之后,您的源代码树可以在Studio中导入,并且(假设您的编译器仍在GCC上设置,Atmel Studio知道您的依赖项),它将无缝编译。
因此,Atmel Studio只需要在项目中导入Arduino库(并且可能需要手动添加一些包含头文件)以将其编译为本机项目。
注意插入一些现有文件和特定整个现有目录对于Studio来说是一个痛苦的事。