YAS's VB.NET Tips
 
ラズベリーパイ活用
ラズベリーパイ活用 >> 記事詳細

2021/11/01

ELEGOOのArduino用2.8インチTFT液晶にビットマップを表示する③

| by:YAS
 前々回前回に引き続き、Arduino用のTFT液晶をRaspberry Pi PICOにつなぎ、240 x 320ピクセルのBitmapを表示してみました。前回はGPIOへの出力部分をPIOを使って高速化しました。今回は、24bitBitmapを16bitBitmapに変換する部分もPIOで行いました。
 その結果は、前回と同じ画像を5.9秒で表示と、前回の4.5秒よりも遅くなってしまいました。変換そのものは絶対にPIOの方が速いと思うので、StateMachineへのputが2byteから3byteに増えたところがボトルネックなのだと推測しています。(StateMachineへのputにそんなに時間がかかるとも思えないのですが…。不思議です。)
 今回のPIOの処理の追加で、Bitmap画像のデータをそのままStateMachineのFIFOへ流し込めばよくなったので、DMAが使えそうです。次回はさらにDMAを使ってPIOにデータを流し込んでみたいと思います。
 
 下のコードは,MicroPython1.17をインストールしたRaspberry Pi PICOで作成・動作確認をしています。(同じフォルダに240 x 340ピクセル、24bitカラーの画像を「sample.bmp」という名前で配置してください。)


01:02