ZY-FGD1442701V1(3)
まずは、予定通りバックライトのPWM制御を。
適当にタイマー割り込みにPWM動作の設定をして、カウントアウト時に
割り込み処理内で次のPWM時間の値を更新する。
メインループ側では、とりあえず一定時間経過ごとにカウンタを更新してみる。
・・・・動画もあるのだが、昔のデジカメで取ったのでは小さすぎて
何がなんだか分からないので割愛。
挙句の果てに携帯電話のカメラの方が解像度も高いし焦点距離も短いので
ここ最近の接写は全部携帯電話ですわ。
次。
フェードイン/フェードアウトをソフトウェアで。
データに演算をして輝度が変わったように見せかける。
さすがにリアルタイムで全画面書き換えるほどの能力はないらしい。
まあ、これはCPUの問題なので、クロックとI/Oポートの性能によってしまう。
したがって、今のATmega128では限界ということで。
・・・・動画は(以下略 なので省略。
最後に、表示コマンドの仕様について。
他では、だれも何も書いてくれないようなんだけど。
内部バッファに於けるカレントのRow Address と Column Address を設定するコマンドと
メモリーに書き込むコマンドがあるけど、
この3つって、よくよく仕様を見ると、そんなに自由じゃないのね。
というか、カレントのアドレスを設定する、っていうより
転送先の矩形を設定するって感じかな。
アドレスといってるけど、実際は座標だし
要は左上座標と右下座標を設定するコマンドなわけ。
その上で書き込みコマンドは
「設定された矩形にデータを書き込む」感じ。
だから、矩形を満たすだけのデータを送らないと
次の書き込みコマンドを受け付けない。
最初に自分が書いたコードが動かないのは、ここに理由があって
毎回 コマンド→データ のセットで書いてた。
サンプル見ると、バースト転送してるわけだから
そりゃ気づくよな。
こんな仕様になってるメリットを考えてるんだけど・・・・
文字とかアニメーションのように、決まった矩形領域を書くときには、
こっちのほうが有利なのか?ぐらい・・・かな。
イメージは、カーソルのある位置に文字を書く、って感じ。
うーん。