液晶表示:CG-RAMの表示がちょいと違う
昔人間ですんで、「これで行こう」と決めたことは
いつまでも引きずっています。
今回のトラブルは液晶表示器の外字登録。
使ったのは秋月で買ったI2C液晶 AQM1602XA
I2Cで安定して使えるようになって、6本線で
つなぐ液晶表示器はちょいと縁遠くなりました。
キャラクタ表示の液晶表示器、8文字分のCG-RAMに
外字を登録できます。
文字コードとして0x00~0x07に対応するパターンを書き
込むと、登録した文字が出てくるという仕掛けです。
しかし、その先頭文字が「0x00」となり、C言語の
ヌル終端文字列:Wikipedia に引っかかってしまうので、
文字列の中に入れられません。
実質、7つの外字しか利用できないのです。
そこで、この表にあるよう、
CG-RAMの文字コード0x00~0x07を0x08~0x0Fと
して定義しておくという手法を使ってきました。
文字列の中に入れずに単独文字として書き込む
ぶんには0x00で問題なしなんですが
ところが今回のAQM1602XAでこれをすると、定義した
CG-RAMではなく、内蔵された文字が出てきちゃったのです。
16文字×2行の液晶、その下段に0x00~0x0Fの文字を
表示してみました。
左の8つがCG-RAMに入れた登録外字。
昔の液晶なら同じ字が右に8つ並ぶのですが、
この液晶だと、内蔵文字になってしまい、
今までの手法が使えません。
ということで、登録した8つのCG-RAM文字は
0x00~0x07で表示するという、まっとうな処理に
変更しなくちゃなりませんでした。
※関連
・PIC AVR 工作室別館 arduinoの館->キャラクターLCD
・よく使うパラレル接続液晶(LCDモジュール)のコネクタ信号
・液晶表示モジュールを4ビットモードで使ったときの空きピン処理
| 固定リンク
「トラブル遭遇」カテゴリの記事
- ロータリーエンコーダ:操作感覚が重要なんだけど(2024.09.13)
- 液晶表示:CG-RAMの表示がちょいと違う(2024.09.12)
- リレーの接点がぁぁぁ(2024.09.02)
- 信じるな!・・・再び (ミノムシクリップの話)(2024.07.10)
- ユニバーサル基板、ズレている!(2024.04.22)
「Arduino」カテゴリの記事
- おっと。map関数の計算桁に注意(2024.10.06)
- DDS方式の2相パルス発生回路、周波数スキャン機能を付ける(2024.10.05)
- 1クロックでも速くしたい 割込を「ISR_NAKED」で(2024.09.30)
- 1クロックでも速くしたい DDS方式の2相パルス発生器(2024.09.27)
- 秋月のI2C接続液晶 AQM1602XAを基板に直付け(2024.09.24)
コメント