「研究しましょう」 ブログ   --- 日記 マガジン 小耳情報

    やりたいことを探して、ネットをさまよう私の、ブログです --- I'm here. Find me out. 我在这里 查找和
0

M5Stack Core2 プログラムを VSCode PlatformIO のシリアルメッセージ でデバッグする環境 🐤✨️    #電子工作初心者 #スタックチャン初心者 #Stackchan #M5Stack #MacBookPro

シリアルメッセージデバッグ
 電子工作を趣味にできないかと思って、チョット試してる。初心者でも簡単に結果が見えるといいなぁと思い、スタックチャンを組み立てて、いじることにした。

M5Stack Core2 で、なんとか音声を出すところまでは行ったので、簡単でいいから開発環境を構築しようとネットを調べて、デバッグ用にシリアルメッセージが使えることが分かった。その方法を、忘れたときの為に φ(..)メモメモ

 まず aruduinoIDE で Sketch を作成保存し、同じフォルダーに、VSCode & PlatformIO プラグインのプロジェクトを上書きして作成した。

そうすることで、aruduinoIDE 側からでも VSCode 側からでも扱える、プロジェクトができる。デバッグは、シリアルポートにデバッグメッセージを書き込んで、VSCode のターミナルウインドウで見ることになる。

VSCode & PlatformIO プラグインのプロジェクトを動かすためには、platform.ini に以下の項目を書き加える必要がある。

[platformio]
src_dir = [ソースファイルのあるサブフォルダ名]
[env]
monitor_speed = 115200
upload_port = [シリアルポート名]
board_build.f_flash = 80000000L
追記 ↓
aruduinoIDE のスケッチフォルダーと VSCode & PlatformIO のプロジェクトフォルダーを同じフォルダーにする場合、ちょっと注意が必要。その場合、src_dir ~ ./ と書くことになる。

そして、その場合、VSCode & PlatformIO が作る src というフォルダーが、鬼門。この中に main.cpp が作られて、その中には、loop( ) 関数が書かれていて、これが .ino ファイルの loop( ) 関数と重複してしまうので、エラーとなる。

main.cpp の中の loop( ) 関数は、コメントアウトする。ついでに setup( ) 関数もコメントアウトしておいた方が、安心かと思う。
追記 ↑
これで、ビルドして、実機にアップロードする。

 ソースは、デバッグメッセージを出したいところに、例えば以下の様に書いておく。(上の写真のオレンジの太い線の行)

Serial.println("mp3 begin C");
Serial.printf("Running for %d ms...\n", lastms);

その後、上の写真の、下の方の、オレンジの ◎ の中にある 🔌アイコンをクリックすると、VSCode のターミナルウインドウに、シリアルポートの文字列が表示されるようになる。

もう一度🔌アイコンをクリックすると、シリアルポートを閉じるためのダイアログが出る。

 これで、ソフトいじりの準備はできたので、スタックチャンに足と首を付ける作業に挑戦しよう。工作は苦手なんだけど、頑張ってやろう

参考ページ:
Arduino IDEとPlatformIO for VSCodeでM5Stack用ライブラリのソースツリーを共有する

該当の記事は見つかりませんでした。