2021年2月15日投稿 Pi PicoのADCで電圧表示
↑ 以前作ったラズパイPicoのプログラムを、Windows11にインストールしたPico用VSCode C/C++開発環境にコピペする。
以前のCMakeLists.txtでは駄目で、エラーやファールばかりを繰り返して大変でした。そもそも私はズブの素人、CMakeLists.txtの役目を知らずにやっているのですから、本当に大変でした。
でも、最終的にエラーやファール、警告も無く正常にuf2ファイルが出来たので、忘れない内にその方法を残します。
どの様なプログラムかと言うと、次の画像がそのプログラムの実行中の様子で、ADC0の電圧をADCで測定しSSD1331に表示する。と言う事をCore0で無限ループする。それに加え並列してCore1でLEDの点滅をさせています。
環境作りは以下のリンクから pico-setup-windows-0.3.5-x64.exe をダウンロードして行う。
VSCodeの立ち上げは、必ず Visual Studio Code for Pico のショートカットを使用する。このショートカットはドキュメントフォルダに作られたPicoフォルダの中にある。
↓ New C/C++ Projectをクリック。
↓ New Pico Project
Name | SSD1331_test |
Board type | Pico |
Location | c:\Users\JM1LXS\Documents\LXS_Pico |
Select Pico SDK version | v2.1.0 |
Features | spi |
Stdio support | Console over USB |
Code generation options | Use project name as entry point file name |
Generate C++ code | |
Debugger | DebugProbe |
↓ CMakeLists.txtに追記
hardware_adc
pico_multicore
pico_bootsel_via_double_reset
↑ pico_bootsel_via_double_reset は、リセットボタンをダブルクリックするとBOOTSELモードになる。なのでUSBケーブルの抜き差しは不要。
次は、Cソースファイルの内容を丸ごと入れ替える。以前も今回もソースファイルは1つだけ。以前のソースファイル名は
pico_ssd1331_oled.c
今回新しく作ったソースファイル名は
SSD1331_test.cpp
SSD1331_test.cppの中身は削除して空にする。以前のpico_ssd1331_oled.cの中身をコピーしてSSD1331_test.cppにペーストする。
font.hはコピーしてSSD1331_testフォルダにペーストする。
↓ ビルドが成功して最終的なファイルはこんな感じ。
この記事で扱ったソースファイルをダウンロード出来ます。解凍すると、SSD1331_testフォルダとLXS-TESTフォルダがあり、SSD1331_testが新たなプロジェクトです。このフォルダをImport Projectで読み込めば、そのまま使えると思います。
尚、SSD1331を初期化するコード lxs_oled_init()内のコマンド 0xAE 0x25から始まるそれは、ネット上で見つけた物で、私には何故そのコマンドなのかなど説明出来ません。
また、font.h内のフォントデータもネットから拝借した物です。
私は素人なので質問されても良い回答が出来ないので悪しからず。