1

通常のマイクロプロセッサ (私の場合は ATMega328p) を使用するプロジェクトで Arudino ライブラリを使用する方法を考えています。ブレッドボードに PDIP プロセッサを搭載しているだけで、Arudino Uno などは使用していません。setup() および loop() Arduino プログラミング環境も使用したくありませんが、Arduino.h を含む EtherCard ライブラリをダウンロードして使用できるようにしたいと考えています。

Windows 8.1 で Atmel Studio 6.2 を使用しています。この記事Using the Arduino libraries for regular AVR codeには優れた応答が含まれていますが、これは (私が思うに) Linux 環境に固有のものです。arduino 以外のプロジェクトで Arudino ライブラリを使用した人はいますか? もしそうなら、どうすればそれらを Atmel Studio に適切に含めることができますか?

ご意見をお寄せいただきありがとうございます。

4

2 に答える 2

1

Arduino ツリーには 2 つのライブラリ セットがあります。最初の一般的な AVR ライブラリ (C) と 2 つ目の Arduino ライブラリ (C++)。Arduino は、AVR ライブラリを拡張して、いくつかの暗黙的な機能クロック (ミリ秒、秒)、ストリーム、UART バッファー ハンドラーなどを提供します。あいまいな.ino拡張ファイルは、 #include "Arduino.h"行を追加して.cppにコピーされます。私の観点からすると、Arduino IDE は通常の make ファイルを使用せず、何らかの方法で Java にハードコーディングされている (外部の avr-gcc のみを使用する) ため、間違った考えです。

また、「実装予定」のloop()setup()は、すべてのプロジェクトで暗黙的にリンクされた Arduino のmain.cppによって導入されたあいまいなアイデアのようです。

しかし、私は AVR と Arduino ライブラリの両方を使用しており、avr-gcc (Arduino ツリーにインストールされています) でコンパイルしています。gcc 4.7.x を使用する Avrstudio 4.19 ツールチェーンとして Avrstudio で問題が発生しない限り、より新しい gcc (4.7 程度) をお勧めします。私は独自の 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 が正常にインストールされている場合、コンピューターでも使用できます。プログラマーを使用して 16 進コードをマイクロコントローラーに書き込むと、それ以降、コントローラーは arduino uno として機能します。以下に示すように、基本的な水晶を接続し、ブレッドボード回路を使用します。 ここに画像の説明を入力

次に、Arduino スケッチでのプログラミングとロードを続けます。

于 2014-11-19T18:49:21.560 に答える