液晶表示: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ビットモードで使ったときの空きピン処理
| 固定リンク
「トラブル遭遇」カテゴリの記事
- 失敗は成功の母<第3回>: 同じ型名なのに内部回路が違う!?(2025.04.16)
- 中華製ボール盤 2018年に交換したベルトが再びアウトに(2025.02.19)
- イヤホンのケーブルが・・・(2025.01.24)
- ピンセット、危うし!(2025.01.09)
- ハサミの指穴樹脂が破断「コクヨ:ハサ-10」(2025.01.08)
「Arduino」カテゴリの記事
- Arduino、analogWriteは捨てちゃえ。ちゃんとしたPWMの例(2025.03.22)
- パルスジェネレータをI2C液晶で動かす(2025.01.28)
- EEPROMを使ったシリアル受信バッファ 512kバイトに増設(2024.12.26)
- 1/nカウント方式とDDS方式の2相パルス発生回路(2024.10.13)
- おっと。map関数の計算桁に注意(2024.10.06)
コメント