QY20 表示部(LCD)を自作③:raspberry pi pico & Visual Studio Code

2023/12/09

RP2040 YAMAHA QY20 電子回路

 Seeed XIAO RP2040のCPUは、RP2040 133MHz。これをアセンブラで動かせば、QY20の画像信号の速度には対応できそう。

色々調査したところ、RP2040には、PIOという機能があり、マイクロコードのように、CPUコアをそれぞれ直接制御できるらしい。ただし小さなプログラムで、IO制御がメイン。説明書を読むと、外部の高速IFに対応するような目的らしいので、今回の問題にぴったり。

しかし、問題が1つ。

ほとんどの文献は、Seeed XIAOでなく、Raspberry Pi Picoを使った内容。XIAOで行うには環境がなく、PIO仕組みさえ知らない私は、環境の知識もない。なので、実験環境は、Picoで行うことにした。また、その環境もArduino環境でなく、Visual Studio Code環境。

ということで、開発キットのダウンロードと、VSCの環境構築。

環境を作ってからわかったのだが、、以前、初めてPICOを触ったときにも、VSCで環境を作ったよう。サンプルを動かすだけの環境のため、どっちみち、再構築が必要だった。

で、まずは、Cだけのプログラム実行。Arduinoでは、Arduino言語と呼ばれているらしいCのフレームワークで、setup()とloop()でプログラムしていたのが、main()に変わる。Arduino言語(Arduino IDE)でもmain()は使えるけど、初期化内容が違うようで、シリアルモニタ表示できなかった。VSCでビルドして、PICOにコピー。PICOが自動再起動して、シリアルポート接続で、printfが見えるようになった。

これで、普通のプログラム環境はできた。

次に、PIO開発環境。Web情報を参考に、なんとか、Lチカはできたが、ビルド環境やプログラムの連携、動作フローがわからない。その状態なので、Cで表示できたprintfも表示しなくなった。多分、初期化処理が変わったのだろう。


とりあえずは、PIOが動き、開発環境もできたので、第一歩は踏み出せた。しかし、道は長い。そして、QY20の代替LCDを作るためだけに、なにをしているのか。。。

QooQ