1

我想知道如何将 Arudino 库用于使用常规微处理器的项目,在我的例子中是 ATMega328p。我只是在面包板上有一个 PDIP 处理器,我没有使用 Arudino Uno 或任何东西。我也不想使用 setup() 和 loop() Arduino 编程环境,但我确实希望能够下载和使用 EtherCard 库,其中包括 Arduino.h。

我在 Windows 8.1 上使用 Atmel Studio 6.2。我发现这篇文章Using the Arduino library for regular AVR code其中包括一个很好的响应,但它特定于(我认为)Linux 环境。有没有人将 Arudino 库用于非 arduino 项目?如果是这样,我如何正确地将它们包含在 Atmel Studio 中?

提前感谢您提供的任何意见。

4

2 回答 2

1

Arduino 树中有两组库。第一个通用 AVR 库 (C) 和第二个 Arduino 库 (C++)。Arduino 扩展了 AVR 库,提供了一些隐式功能时钟(毫秒、秒)、流、UART 缓冲处理程序等。模糊的.ino扩展文件被复制到.cpp并添加了#include“Arduino.h”行。从我的角度来看,Arduino IDE 是错误的想法,因为它不使用普通的 make 文件,但它以某种方式在 java 中硬编码(仅使用外部 avr-gcc)。

同样是“待实现”的loop()setup()似乎是由 Arduino 的main.cpp引入的晦涩的想法,隐式链接在每个项目中。

但我同时使用 AVR 和 Arduino 库并使用 avr-gcc(安装在 Arduino 树中)进行编译。我推荐更多新鲜的 gcc(4.7 左右,除非它在 ​​Avrstudio 中导致问题,因为使用 gcc 4.7.x 的 Avrstudio 4.19 工具链)。我有自己的 Makefile 并在 Windows XP 中使用。您还可以覆盖一些使用属性((weak))实现的 Arduino 函数。

于 2014-08-14T06:34:39.037 回答
0

请连接 ATMEGA USBASP 编程器和 ATMEGA328 控制器,如下图所示:(来源:learningaboutelectronics.com在此处输入图像描述

然后将 ATMEGA Uno 固件代码写入控制器。它在这里可用 - https://github.com/arduino/Arduino/tree/master/hardware/arduino/bootloaders/optiboot 在那里下载 328 hex 版本。如果您已成功安装 Arduino Sketch IDE,这些引导加载程序也将在您的计算机中可用。现在使用他的程序员将十六进制代码写入微控制器,从那时起,控制器将作为 arduino uno 工作。连接基本晶体并使用如下所示的面包板电路。 在此处输入图像描述

现在你继续你的编程和加载 arduino 草图。

于 2014-11-19T18:49:21.560 回答