Arduino IDEに固執することをお勧めしますか?


24

Arduino IDEを介してAVRスタジオ(または他のより良い代替手段)に移行する方が良いでしょうか。とてもシンプルで子供っぽい感じがします。専門家のアイデアと選択を知る必要があります。


1
AVR studioを試してみませんか?あなただけがそれがあなたのニーズに合うかどうかとあなたにとってより速い/より簡単なものを決めることができます
PetPaulsen

3
@PetPaulsenええ、私はそれが最良の方法だと知っています。私はすぐにそれをします(おそらく明日)。しかし、他の人がこれをどのように見ているかを知りたかっただけです。あなたは道があまりにも...という多くのことを学ぶことができます
アヌビス

アルドゥイーノのVisual Studio Proのプラグインは最近サポートするように更新されましたアトメルメーカー6.1を。インストールは10分以内で、Arduinoのスケッチを開いたり、編集、コンパイル、アップロードしたり、シリアルモニター、サンプルエクスプローラー、オプションのArduino USBデバッガー
Visual Micro

回答:


19

たとえばAVR Studioを使用する大きな利点は、Arduinoの夜明け前にATmega168 / 328用に作成されたすべてのライブラリを使用できることです。FFTライブラリ、購入した不明瞭なICを使用するためのライブラリ、初歩的なデジタルフィルターなど、AVRfreaksや他の何百もの趣味のサイトで見つけることができます。

また、標準のAVRライブラリの利用方法を学び、マイクロコントローラのデータシート(またはチュートリアル)を調べると、より効率的なコードを書くことができます。単純なアプリケーションの場合、arduinoコードの作成とデバッグは簡単です。ただし、タイミングをより効率的に制御したい場合があります。AnalogRead()実行するには100µsが必要です。これは10ksps(1秒あたり数千のサンプル)に相当します。ATmega168 / 328の低レベルコードにアクセスすると、簡単に70kspsにポンプできます。もちろん、すべてをArduino IDEで実行できますが、ある時点でプロジェクトが複雑になりすぎて、より高速な機能を備えた独自のライブラリを作成したくなるでしょう。AVR Studioがより適しているかもしれません。

また、Arduinoが提供するもの以外のAVRチップをプログラムしたい場合、プログラマーと別のIDEが必要になります。1kBのコードを使用する小さなプロジェクトは、ATtinyで実行できます。単一のATmega328の価格でそれらを数十個購入できます。これらのチップは安価で、Arduinoのほとんどの機能(I2C、SPI、ADC)を備えています。USB HIDインターフェースを追加するライブラリも見つけることができます!シリアルドライバーなどは一切ありません!

個人的には、最初にコードを最適化せずにArduino IDEでコードを記述します。動作する場合、そのコードは標準C ++ライブラリに簡単に転写され、より効率的になります。


26

それはにとってもアクセス可能でなければならないので簡単です、そしてそれはうまくいきます:誰もが彼の妹はArduinoをプログラムできます。

Real Programmingのようなものを扱うことができると思うなら、私は確かにそうするでしょう。より多くのコードを記述する必要がありますが、より多くの制御権もあります。重要な点:Arduinoライブラリは恐ろしく非効率的です:のような関数でDigitalWriteあり、最大50倍高速にDigitalRead作成できます。


うわー、それは気づいたことはありませんという非効率的。オーバーヘッドがあることは知っていましたが...
多項式

2
についてのニュースをありがとうDigitalRead/Write。...ことを知っていたことはありません
アヌビス

7
@Anubis-JeeLabsを発見したのはごく最近のことです。彼らは私が今まで見た中で最高のブログの一つを持っています。必ず読むことをお勧めします。
stevenvh

2
:質問はArduinoのデジタルIOスピードアップについてはしばらく前にあったelectronics.stackexchange.com/questions/22585/...
ジョン・L

12

回答のほとんどは、Arduinoボードを標準AVRボードとして使用することに焦点を当てています。ただし、より高度なIDEを使用しても、Arduinoコーディングと組み込みライブラリのシンプルさを活用できます(上記の欠点もあります)。EngBlazeはこれについてチュートリアルを行いました:チュートリアル:ArduinoプロジェクトでAtmel Studio 6を使用する


3

Arduino IDEは、小規模プロジェクトの開発の利便性と速度のためにコードの効率を犠牲にします。専門家にも期限があるため、Arduino IDEを使用して概念をすばやく検証したり、別のプロジェクトのデバッグを支援したりすることは完全に受け入れられます。

組み込みソフトウェア開発に特化したい場合は、AVR Studioやavr-gccなどのより強力な開発ツールと好みのIDEを使用できる必要があります。

開発ツールを習得するだけでなく、マイクロコントローラーの内部動作を学習し、一部のアセンブリを知ることは、メモリが少なく、低電力要件、および/または高性能のシステムで作業する場合、間違いなくプラスです。


詳細な回答をありがとう、私はそれを好む。特に最後の点については、私は確かにそれに同意します。Atmelプロセッサは初めてですが、PICの内部構成についてもう少し知っているので、soアセンブリコードを複雑にすることはできません。それは少し難しいように思えますが、マイクロコントローラの動作の正確な方法を学ぶことができます。多くの人がこの答えを役に立つと思うでしょう。より多くの票が得られることを願っています:D ..(これが最初の答えですよね?)
アヌビス

2
今日では、アセンブリに堪能であること(ドキュメントを頻繁に見なくてもコーディングできること)が役立つ状況はほとんどありません。コンパイラーをマスターし、そのねじれと良いオプションを知ることは、はるかに便利です。がんばろう。
シルヴァン
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.