シンプルにさようなら、Arduinoの開発をより高いMS VSCodeエクスペリエンスにしましょう

転載元:https://www.21ic.com/evm/trick/201709/737533.htm
作者:SANTURNソース:21ic侵害、削除された連絡先

ArduinoとVSCodeについて話す

Arduinoは宇宙で最初の開発ボードにふさわしいと言う人もいます!RPI(Raspberry Pi)の支持者は卵を投げ始めたのかもしれません。ただし、筆者の経験によれば、非電子​​的または組み込みのソフトウェアプロフェッショナルにとって、ArduinoはRPIよりも明らかに早く開始できます!実際、偉大なQ兄弟によると、2人の長所と短所について多くの口頭での戦いがありました。アイデア:好きな人は誰でも好きな人です!巻き込まれないでください、移動は王様です。

今日のトピックは言葉の戦争ではありません。Arduinoをより便利にし、単純なArduino IDEに別れを告げ、ソフトウェア開発に高いVSCodeを使用するだけです。

ここに画像の説明を挿入

著者は何年も前にArduinoと連絡を取り合っており、私はその設計哲学に非常に同意します。Arduino IDEを使用しているとき、とても不快に感じるだけで、より優れた統合開発環境がリリースされる日を常に考えています。残念ながら、今日まで、Arduino IDEはコードヒントなしでデバッグ機能がなく、非常にシンプルです。ご存知のように、これらの機能は優れたIDEが備えるべきものです。

VSCodeはMS(Microsoft)によって起動されたエディターであり、IDEではなくエディターです!

VSCodeの完全な名前は、MSの有名なVisual Studio開発キットから派生したVisual Studio Codeですが、Visual Studioほど肥大化していません。これは、Visual Studioの強力なコード編集機能を継承し、コード補完やコードのフォーマットなど、多くの編集上の利点があります。

c3d5bc8140202a9877ec50858ef8c620_b.jpg

このエディターコンポーネントは、チューリッヒのエリックガンマが率いるチームによって作成され、typescriptで記述されたオンラインエディターのモナコからのものです。VSCodeは小さく実用的であり、リリースされた後は好評です。

エディターは一般的にコードをコンパイルできないことを私たちは皆知っていますが、MSはVSCodeの多くの拡張機能を提供し、IDEとして完全に使用可能にします。実際、このアプローチはEdit Plus、Notepad ++などの多くの有名なエディターで採用されています。

https://code.visualstudio.com/から最新のVSCodeをダウンロードしてインストールします。このプロセスは繰り返されません。

VSCode起動後の画面は以下の通り

VS-2.jpg

現在のVSCodeは引き続きエディターであり、ファイルの編集のみが可能で、コンパイルはできません!結局のところ、ツールチェーンはまだ構成されていません。

VSCodeは、c / c ++、Pythonなどのさまざまな言語を含む非常に豊富なプラグインタイプをサポートし、Arduino、STM32、ESP32などのさまざまなハードウェアプラットフォームをサポートし、すべてを備えています。

Extension.jpg

VSCodeでのArduinoサポート

まず、次のようにArduinoサポートを追加します

VS-3.jpg

インストールする必要のあるプラグイン、検索バーにコンテンツを直接入力すると、VSCodeが一連のオプションを一覧表示します。上の図は、Arduino拡張プラグインがインストールされている状況を示しています。このプラグインは、MSの公式バージョンです。現在バージョン番号は0.2.6です。

Arduino IDEのインストールと構成

VSCodeでArduinoの機能を使用するには、Arduinoをダウンロードしてインストールする必要があります結局、Arduinoにはさまざまなツールチェーンと関連するドライバー、およびサンプルコードが用意されています。

arduino.ccから最新のArduinoをダウンロードします。この記事のテストでは、圧縮パッケージの.zip形式を使用し、次のように、使用する指定のフォルダーに直接解凍します。

VS-4.jpg

arduino.exeファイルをダブルクリックして、プログラムが正常に実行されているかどうかを確認します。

Arduinoの操作にはJREサポートが必要なため、Arduinoを起動できない場合は、JREランタイム環境がインストールされているかどうかを確認する必要があることに注意してください。

デフォルトのArduinoは、UNO、MEGA2560などのいくつかの基本的なArduinoハードウェアをサポートしています。3者サポートが必要な場合は、最初に基礎となるツールチェーンをインストールする必要があります。

AdafruitのFeather開発ボードを例として、Arduinoにハードウェアサポートを追加する方法を紹介します。

一般的に、Arduinoの開発をサポートするハードウェアプラットフォームの場合、メーカーは関連するツールチェーンと基礎となるサポートパッケージ(BSP)を指定します。たとえば、Featherのサポートを追加するには、Arduinoの設定で次のURLを指定する必要があります。

VS-5.jpg
URL:

http://adafruit.github.io/arduino-board-index/package_adafruit_index.json

URLを設定したら、Arduinoボードマネージャーで特定のハードウェアサポートを追加する必要があります。たとえば、Featherで使用されるMCUマスターはAtmega32u4であり、対応するサポートパッケージを追加します

VS-6.jpg

VSCode Arduino設定

奇妙なことに、VSCodeが開発環境として使用されていないのですか?なぜArduinoで設定が操作されるのですか?

実際、この質問の答えは簡単です。VSCodeを紹介したときに、VSCodeは単なるエディターであると述べましたが、これをIDEとして使用する場合は、最初にArduino自体を構成する必要があります。

Arduinoを構成したら、次のステップはVSCodeにArduinoの存在を認識させることですが、結局のところ、プラグインは自動的に認識できるほどスマートではありません。

VSCodeとVSの違いは、VSCodeの構成ファイルがすべてJSONを使用して構成されていることです。VSCodeは起動時にこれらの構成を読み取り、動作を開始できます。

システムパラメーター設定用のVSCodeのショートカットキーはCtrl +、です。開いた後、次のようにArduino関連の設定を検索します

VS-7.jpg

図に示すように、最初に設定インターフェイスにarduinoを入力すると、Arduinoに関連する設定が表示されます。次に、右側のユーザー設定で特定のユーザー値を変更します。ユーザーが設定したパラメーターは、システムのデフォルトパラメーターを上書きします。

ここで最も重要なパラメータはArduinoの場所です。Arduinoの場所を直接指定するだけです。

この設定後、VSCodeはArduinoを開発作業に使用できるようになります。

Arduino開発にVSCodeを使用する

簡単なArduinoソースファイルtest.inoを作成し、その中に次のコンテンツを入力します

#include <Arduino.h>

void setup(){
    pinMode(13, OUTPUT);
}

void loop()
{
    digitalWrite(13, HIGH);
    delay(500);
    digitalWrite(13, LOW);
    delay(500);
}

Arduinoボードで遊ぶユーザーは、このコードに精通している必要があり、説明しません。

次に、コードのアップロードに使用するハードウェアの種類とシリアルポートを設定します。これらの設定は、コマンドパレットまたは簡単な方法を使用して設定できます。最初にショートカット設定を体験します。VSCodeウィンドウの右下隅で、開発ボードを選択できます。タイプとシリアルポートの設定は次のとおりです

VS-8.jpg

まず、次のように開発ボードのタイプを選択します

VS-9.jpg

次のように、通信シリアルポートを選択します

VS-10.jpg

次に、コードをコンパイルしてリンクし、開発ボードにアップロードします。

開発ボードのタイプと通信シリアルポートの設定に加えて、コードのコンパイル、アップロード、その他の機能などの他のArduino関連の操作は、コマンドパネルから提供されるコマンドを介してのみ実行できます。

コマンドパネルを開くショートカットキーはCtrl + Shitp + Pです。ファンクションキーF1を使用してコマンドを完了することもできます。開いた後のコマンドパネルは、おおよそ次のようになります。

VS-11.jpg

Arduinoで始まるコマンドはすべて、開発ボードの管理、シリアルポートのパラメーター設定、コードのコンパイルとアップロードなどのArduinoの操作に関連していることがわかります。まず、Arduino:Upload関数を確認します。このコマンドは、現在のコードをコンパイルしてアップロードします。ターゲットボードへ。Ctrl + Alt + Uショートカットキーを使用して操作を完了できます。

操作中に、次のような出力情報が表示されます

Loading configuration...

Initializing packages...

Preparing boards...

Verifying...

Archiving built core (caching) in: C:\Users\netlh\AppData\Local\Temp\arduino_cache_554445\core\core_adafruit_avr_feather32u4_59d57194f9ece49e5f06a151099c183b.a

Sketch uses 4104 bytes (14%) of program storage space. Maximum is 28672 bytes.

Global variables use 149 bytes of dynamic memory.

Uploading...

[Done] Uploaded the sketch: sketch\test.ino

コードのアップロードが完了すると、開発ボードのLEDライトが点滅し始めます。

詳細:コード補完の構成

VSCode自体にはコードプロンプトと補完機能がありますが、現在のファイルに限定される小さな制限があり、わずかに不十分です。ただし、VIMで非常によく使用されている有名なGTAGSのようなオープンソースコード補完プラグインはまだあります。もちろん、VSCodeをより便利にするために、GTAGSを追加する必要があります。

最初にhttp://adoxa.altervista.org/global/から最新のインストールパッケージをダウンロードし、インストールまたは解凍した後、プログラムをユーザーパスPATHに追加します。解凍後にGLOBALによって提供されるツールは次のとおりです。

VS-12.jpg

次に、GTAGSを使用して完了情報を作成できます。

Arduino自体にはいくつかのライブラリが含まれています。これらのライブラリはArduinoインストールディレクトリの下にあります。さらに、Arduinoはユーザーが作成したファイルをドキュメントディレクトリのArduinoサブディレクトリにデフォルトで配置します。GTAGSがグローバルデータベースファイルを作成できるようにするため、デフォルトはここで少し変更されています。 Arduinoディレクトリパラメータ。ユーザーが作成したすべてのファイルをArduinoのsketchサブディレクトリに配置して、GTAGSが情報を収集できるようにします。

VS-13.jpg

上の図のスケッチユーザーコードサブディレクトリに注意してください。

上の図のGPATH、GRTAGS、GTAGSファイルはすべて、GTAGSコマンドを使用して作成されたインデックスファイルです。これらのファイルは、ArduinoインストールディレクトリでGTAGSコマンドを実行した結果です。

VS-14.jpg

ほとんどのLINUXコマンドと同様に、GTAGSコマンドの実行後のサイレント出力は、コードが正常に実行されたことを示し、コードプロンプトおよびコード補完コマンドを使用できます。

VS-15.jpg

上の図は、入力コードのコードプロンプトです。TabキーとEnterキーを使用してコードを完成させることができます。酸っぱい次のコードヒントもあります

VS-16.jpg

次のように、Arduinoと同様に、Arduinoのシリアルポート監視機能の使用方法を見てみましょう

VS-17.jpg

赤いマークのアイコンをクリックして、シリアルモニターを開きます。

最後に、コードのステップ実行やブレークポイントなど、他のIDEのデバッグ機能を体験したい場合、方法はありません。1つは、Arduino自体がこの機能を提供していないことです。さらに、オンラインデバッグを実現するには、デバッガーが必要です。たとえば、STにはSTLINKとARMの一般的なJLINKがあります。Arduinoにはありません。Arduinoプログラム自体は一般的に単純です。 、関係者は必要ないと思います!

最後に、秘密を教えます。オブジェクトまたはタイプの定義を見たい場合は、ctrlキーを押してからオブジェクトをクリックすると、驚きがあります。

VS-18.jpg

上記は、Ctrlキーを押しながらシリアルオブジェクトをクリックした効果の画像です。

比較として、最後に伝統的なArduino開発インターフェースをスローします、それは正しいですか?

VS-19.jpg

MSによって生成されたものは本当に良いです。しかし、憂鬱なのは、なぜMS携帯電話が常に壁を支えられないのか?

おすすめ

転載: blog.csdn.net/weixin_45502929/article/details/108358942