液晶表示: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ビットモードで使ったときの空きピン処理
| 固定リンク
「トラブル遭遇」カテゴリの記事
- 24クリックのロータリーエンコーダ、調子が悪くなり交換(2025.11.20)
- MADE IN USAでも信じるな!(ミノムシクリップの話)(2025.11.11)
- 8文字×2行のI2C液晶表示器に注意(2025.10.21)
- ATtiny1614につないだ32kHz水晶発振子、隣のピンの影響を受けるみたい(2025.10.06)
- ガレージの「フライヤ」をつないでいた延長コードが(2025.10.02)
「Arduino」カテゴリの記事
- ラジオペンチさんの「ダイソーのゆらゆらLEDキャンドルライト」#2(2025.09.15)
- ラジオペンチさんの「ダイソーのゆらゆらLEDキャンドルライト」(2025.09.11)
- ATtiny402サンプル:"Wire.h"を使わずI2Cで液晶表示 AQM1602だと(2025.09.09)
- ATtiny402サンプル:I2Cで液晶表示 SCL周波数を設定できるようにしたら(2025.09.09)
- ATtiny402マイコン サンプル:I2Cで液晶表示(Wire.hを使わないで)(2025.09.08)


コメント