1

我正在研究 Mega 2560 板。我计划使用裸 ATmega2560 微控制器(与 Arduino 上的相同)将我的项目移动到定制 PCB。根据我的研究,我的问题没有明确的答案。

我可以使用 Arduino IDE 对 Arduino 进行编程,然后将所有这些代码移植到我自己的 PCB 上吗?我看到 Arduino IDE 创建了与所有草图相对应的 .cpp 文件。

我知道我必须保留 Eagle 原理图中所有引用的 Arduino 引脚和外围设备。

编辑:正如下面的答案所指出的,您可以在自己的 PCB 上使用 Arduino 代码,前提是您不使用任何第三方库。您可以使用 Arduino IDE 生成的十六进制文件通过 Atmel Studio 或使用 Arduino 作为 ISP 在 PCB 上对微控制器进行编程。

4

3 回答 3

1

绝对可以将 Arduino 代码闪存到您自己的作品中。我已经这样做了好几次了。但是,您需要一个 ISP 来刷新目标。

根据 PCB 的硬件,某些库可能无法工作或无法提供所需的结果。

任何依赖精确时序的东西都需要一个晶体振荡器。(但是较新的 Arduinos 只有一个谐振器,因此这对您来说可能不是问题)。

需要以 16 Mhz 运行的一切都需要一个晶体,因为内部 PLL 仅支持高达 8 Mhz。

所有需要串行 IO 的东西都必须以匹配的频率编译。

--> 除非您知道自己在做什么,否则建议您使用 16 Mhz 晶体振荡器。

串行到 USB 转换器完全是可选的,但如果您忽略它,您将无法使用 IDE 的串行监视器或引导加载程序选项。

在所有情况下,您都必须确保正确设置保险丝。如果您使用 IDE 刷新引导加载程序,IDE 将自动正确设置保险丝。由于无论如何您都需要 ISP,您可能需要考虑在之后删除引导加载程序。但这主要是个人喜好问题。

于 2013-09-18T11:53:50.060 回答
1

保留一些东西,例如使用过的 GPIO、晶体、EEPROM(如果存在),也许还可以在您的 PCB 上使用服务 LED,就像在 arduino 中所做的那样,一切都会正常工作。但我建议转移到您自己的图书馆和一些免费的图书馆。您将能够脱离 Arduino 平台并使用其他 Atmel 微控制器(用于更大或更小的目的)。

答:如果您将一些有价值的硬件(GPIO、SPI、晶体振荡器)移动到您的 PCB 上,它将起作用。

于 2013-09-18T06:07:30.377 回答
0

如果您不使用 Arduino 库并且您使用相同的 atmega 模型,那么通用代码应该可以工作。您可能需要根据您的 pcb 来调整一些东西。重要的是你把它放在 Atmega 上,你不要使用 Arduino 的库。但是有可能导出那些吗?对此我不确定。

于 2013-09-18T01:58:50.537 回答