PIC32MM0064GPL028 + ST7735 でプログラム・メモリに置いた画像を表示させる。 – 表示する – | Sahara's WebLog

Sahara's WebLog

日記のような、備忘録のような、うらみつらみのような、自慢のような…。

PIC32MM0064GPL028 + ST7735 でプログラム・メモリに置いた画像を表示させる。 – 表示する –

PIC32MM0064GPL028 + ST7735 でプログラム・メモリに置いた画像を表示させる。 – データの準備 –」の続き。
ここからは PIC32MM0064GPL028 + ST7735 での作業だ。
というか、MPLAB X + MCC + XC32 での作業だけど。

1.44インチのカラー液晶のドライブICであるST7735のデータ・シートには以下のようにある。

そもそもフルカラーではなかったんだな。

用意したBMPファイルは、色数には限りがあるものの色データ的には3バイト分持っているので、
262k colors, RGB 6-6-6-bit input
ってやつにすればいいだろう。
そのまま送ればいいようにも思うし、2ビットは0にしなきゃいけないような気もする。
それに間のD8の1ってのもよくわからない。
D0~D7があって、さらにD8があるのだ。

とにかくこうやってみた。

表示できた。


Arduinoから移植した時の設定と変えたのは下に示した部分だけだ。

上に書いた、今回選んだ方式の display data formatsってやつに設定するコマンドだ。

この要領で画像を3枚持つとメモリが一杯になる。

ST7735方式のうち、ここで選んだものでデータを用意すると、
128 × 128 × 18 = 294912 bits = 36 KiB
用意したBMP画像は、
128 × 128 + 54 + 256 × 4 = 17462 bytes = 17KiB
なので、こちらの方がサイズは小さくて済む。
実際はCのデータ文に直すときにパレットのダミー・データは捨ててるので、さらに256バイトだけ小さい。

ST7735方式の一番データの少ない場合は、
128 × 128 × 12 = 196608 bits = 24576 bites = 24 KiB
となってここでやったBMPの減色方法よりサイズは大きくなる。
BMPファイルのもっとデータの少ない場合の16色では、
128 × 128 + 54 + 16 × 4 = 16502 bytes = 16KiB
となって、色的に悲しい割にサイズにお得感が全く無い。
結局、見た目的にパレット方式ってどうよ、ってことに尽きる気がする。
上に載せたように肌色の多いお姉ちゃん画像ならたぶんパレット方式の勝ちだろう。
PIC32MM0064GPL028 関連記事一覧

このエントリーをはてなブックマークに追加

Posted under: PIC32MM0064GPL028, 液晶


コメントを残す

メールアドレスが公開されることはありません。

Time limit is exhausted. Please reload CAPTCHA.