では晴れて画像が表示されたところで、つぎは文字を表示したいと思います。
ここからLCDとしての実用度が増しますが、更にめんどくさくなります…
それでは、まずは原理から↓
ここからLCDとしての実用度が増しますが、更にめんどくさくなります…
それでは、まずは原理から↓
キャラクタLCDには初めからLCD自体にフォントが入っているため、こちらで気にすることはありません。しかしグラフィックLCDの場合、それが無いために自分でフォントを用意してあげなければなりません。
前の章で、任意の位置に1バイト好きなドットを書き込めるようになりました。
ですので、まぁ毎回文字データをこんな感じで↓
1バイト1バイト自分で描いてあげればいいわけです。0バイト目:0x00,1バイト目:0x01,2バイト目:0x01,3バイト目:0x61,4バイト目:0x19,5バイト目:0x05,6バイト目:0x03,7バイト目:0x00…
この作業をひらがなだとそれが83個、カタカナだと86個、数字だと10個、英語だと大文字小文字で26個ずつ、あと記号とか漢字とか…これを毎回毎回!8バイトなので8回ずつ!
ムリですね。誰か作ってくれないかな…
作ってる方がいました。→『美咲フォント』
しかもライセンスフリーということで、ありがたく使わせていただきます…すげぇこれ作るのに何年かかったんだよ…
というわけでこのフォントを自分に必要な分だけプログラムのフォントヘッダーに入れて使おうと思います。今回僕は欲張って、『ひらがな・カナカナ・数字・英語(大文字小文字)・記号一部』を入れてみました。おかげで容量がヤバイです。(プログラムは下らへんにあります)
先人の頑張りのおかげで、フォントデータはなんとかなりそうです。次はデータの書き込み
前の章で、任意の位置に1バイト好きなドットを書き込めるようになりました。
ですので、まぁ毎回文字データをこんな感じで↓
1バイト1バイト自分で描いてあげればいいわけです。0バイト目:0x00,1バイト目:0x01,2バイト目:0x01,3バイト目:0x61,4バイト目:0x19,5バイト目:0x05,6バイト目:0x03,7バイト目:0x00…
この作業をひらがなだとそれが83個、カタカナだと86個、数字だと10個、英語だと大文字小文字で26個ずつ、あと記号とか漢字とか…これを毎回毎回!8バイトなので8回ずつ!
ムリですね。誰か作ってくれないかな…
作ってる方がいました。→『美咲フォント』
しかもライセンスフリーということで、ありがたく使わせていただきます…すげぇこれ作るのに何年かかったんだよ…
というわけでこのフォントを自分に必要な分だけプログラムのフォントヘッダーに入れて使おうと思います。今回僕は欲張って、『ひらがな・カナカナ・数字・英語(大文字小文字)・記号一部』を入れてみました。おかげで容量がヤバイです。(プログラムは下らへんにあります)
先人の頑張りのおかげで、フォントデータはなんとかなりそうです。次はデータの書き込み
そういうわけで、次はどうやってLCD内の任意の場所に文字を書き込みましょうか?
手順はこんな感じです。
手順はこんな感じです。
- 文字を書き込む先頭座標を入力
- フォントデータに8個ドットデータが入っているので、そこから8回書き込み繰り返し
- 次の文字のために文字を書き込む座標をx+8しておく(右端になったらy+1)
コメントをかく