2.4.7.3. ピクセルデータの送信

マイコン入門spacer ad
トップページに戻る(マイコン徹底入門:STM32で始めるARM/Cortex-M3組み込み開発)
「マイコン徹底入門」とは? |  「マイコン徹底入門」を読む |  ダウンロード |  掲示板 |  筆者の自己紹介


Previous: 2.4.7.2. 表示位置の指定

Up: 2.4.7. プログラムによる処理

Next: 3. タイマ


マイコン徹底入門:周辺回路編:STM32のペリフェラルを活用: 2. 汎用入出力(GPIO): 2.4. カラー液晶の利用: 2.4.7. プログラムによる処理:

2.4.7.3. ピクセルデータの送信

 あとはSDカードからデータを読み出して、ST7735に送信するだけです。

 サンプルプログラムでは1ピクセル分毎にデータを処理することにしましたので、(128×128)回読み出しと送信処理を繰り返しています。BMPファイルから読み出すデータはRGB3バイトですが、ST7735_Write_RGB関数内で2バイトに変換されています。

 BMPファイルのデータは各色8ビットでおよそ1677万色のデータになっています。一方、ZY-FGD1442701V1は赤5ビット、緑6ビット、青5ビットの65536色が指定可能な範囲です。そのためBMPファイルの各ピクセルのデータを、ST7735に送信する前に、右シフトして桁数を減らしています。

for (i=0;i<128*128;i++)

? {

??? fsresult = f_read(&fhandle, &data_buffer, sizeof data_buffer, &data_read);

??? if (fsresult != FR_OK)

????? {

??????? cprintf("File read failed.\r\n");

??????? while(1);

????? }

??? ST7735_Write_RGB(data_buffer[2]>>3,data_buffer[1]>>2,data_buffer[0]>>3);

? }

 サンプルプログラムでは、1秒毎に表示する画像を切り替えています。画像の切り替えにちょっともたつきがあるのが玉にキズですね。SDカードからの読み込みの単位を大きくしてバッファしたり(19.9.3参照)、最適化のレベルを挙げたりすると、表示速度を上げられるはずです。本格的に利用する際には、FSMC(21.5参照)を使用してDMA転送をすると、CPUの負荷を下げられるはずです。

 サンプルプログラムで表示させている画像は、STM32のイメージイラスト(写真 6?43)、筆者のお気に入りのラジコン(写真 6?44)、フラットケーブル(写真 6?45)、筆者の職場のロゴです(写真 6?46)

写真 6?43 表示結果(STM32.bmp)

***P5141434***

写真 6?44 表示結果(graphite.bmp)

***P5141437***

写真 6?45 表示結果(flat.bmp)

***P5141439***

写真 6?46 表示結果(ilaw.bmp)

***P5141440***

ブックガイド 15 音声処理と映像処理

北山洋幸;『WAVプログラミングC言語で学ぶ音響処理』,カットシステム,20087月.

WAVファイルの構造と各種の処理方法がわかりやすく解説されています。

昌達慶仁;『詳解 画像処理プログラミング』,ソフトバンククリエイティブ,20083月.

BMPファイルの構造と各種の処理方法がわかりやすく解説されています。


Previous: 2.4.7.2. 表示位置の指定

Up: 2.4.7. プログラムによる処理

Next: 3. タイマ


このページはITと知的財産の法律情報「法務ネット」の管理人が制作・運営しています。
_Toc266801166