« トラ技2024年10月号に「加熱完了報知回路」 | トップページ | アマゾンで買ったユニバーサル基板:失敗だぁ »

2024年9月12日 (木)

液晶表示:CG-RAMの表示がちょいと違う

昔人間ですんで、「これで行こう」と決めたことは
いつまでも引きずっています。
今回のトラブルは液晶表示器の外字登録。

使ったのは秋月で買ったI2C液晶 AQM1602XA
  I2Cで安定して使えるようになって、6本線で
  つなぐ液晶表示器はちょいと縁遠くなりました。

キャラクタ表示の液晶表示器、8文字分のCG-RAMに
外字を登録できます。
文字コードとして0x00~0x07に対応するパターンを書き
込むと、登録した文字が出てくるという仕掛けです。

しかし、その先頭文字が「0x00」となり、C言語の
ヌル終端文字列:Wikipedia に引っかかってしまうので、
文字列の中に入れられません。
実質、7つの外字しか利用できないのです。
そこで、この表にあるよう、
L11_20240912102801

CG-RAMの文字コード0x00~0x07を0x08~0x0Fと
して定義しておくという手法を使ってきました。
  文字列の中に入れずに単独文字として書き込む
  ぶんには0x00で問題なしなんですが

ところが今回のAQM1602XAでこれをすると、定義した
CG-RAMではなく、内蔵された文字が出てきちゃったのです。
L12_20240912102901
16文字×2行の液晶、その下段に0x00~0x0Fの文字を
表示してみました。
L13_20240912103001

左の8つがCG-RAMに入れた登録外字。
昔の液晶なら同じ字が右に8つ並ぶのですが、
この液晶だと、内蔵文字になってしまい、
今までの手法が使えません。

ということで、登録した8つのCG-RAM文字は
0x00~0x07で表示するという、まっとうな処理に
変更しなくちゃなりませんでした。

※関連
PIC AVR 工作室別館 arduinoの館->キャラクターLCD
よく使うパラレル接続液晶(LCDモジュール)のコネクタ信号
液晶表示モジュールを4ビットモードで使ったときの空きピン処理


|

« トラ技2024年10月号に「加熱完了報知回路」 | トップページ | アマゾンで買ったユニバーサル基板:失敗だぁ »

トラブル遭遇」カテゴリの記事

Arduino」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)




« トラ技2024年10月号に「加熱完了報知回路」 | トップページ | アマゾンで買ったユニバーサル基板:失敗だぁ »