フォト
2025年4月
    1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30      
無料ブログはココログ

« 微妙に仕様の異なる3.5mm 4極ミニプラグ接続AVケーブル | トップページ | Propeller始めました(8) スピーカーで音を出してみる »

2015年11月25日 (水)

IchigoJam用漢字フォントモジュールの製作 その1

IchigoJamのI2C接続モジュールとして、漢字フォントモジュールを試作しました。
LPC810で基板実装する予定ですが、まずはArduinoにて実装してみました。

Dscn4350

漢字フォントは以前利用実績のある日本語フォントROM GT20L16J1Yを利用しました。
スイッチサイエンスで購入できます。使い方もホームページで紹介されています。

Dscn4348

実際の動いている映像


今回の実装は、ArduinoのI2Cスレーブ周りのバグとIchigoJamのI2Cのバグで
ちょっとハマりました。

ArduinoのI2C(wire)ライブラリのスレーブ処理に不具合があるのは、既知でしたので
パッチを当てたのですが、write関数のバッファリングの作りが甘く、実質32バイト
までしか送信出来ないようです。正しい送信が出来きないのに、正常終了を返して
ました。

また、IchigoJamからI2CRコマンドで、引数のコマンド部のデータ長が4バイトを超えると
データの内容が壊れて正しい送信を行うことが出来ません。

ロジックアナライザーを使って、原因がわかり何とか対処出来ましたが、
本来I2CR命令1回実行すればよいところを、I2CW命令1回、I2CR命令24回という
面倒な処理となってしまいました。
Arduinoは、試作にはお手軽ですが標準ライブラリのいくつかは作りが甘いです。
試作環境はArduinoではなく、別環境にした方がよさそうかもしれません。

IchigoJamでの漢字文字列は、コメント部に記述しています。

01

文字列を扱えないのですが、プログラム内の文字列格納アドレスは分かります。
下記の格納形式なので、



文字列は、
プログラム格納領域先頭アドレス #C00 + 行番号2バイト+長さ1バイト +  ’文字1バイト
となり、#C04から取得できます。

このソースファイルをIchigoJamにシリアル通信で転送しています。

最終的には次の2のIC+抵抗2本の基板実装を予定しています。

Dscn4346

2016/04/12 追記

LCP810ではメモリ(SRAM)の容量とI/Oピン数的に実装が厳しいので
Arduinoの小型版またはATmega328にて実装に切り替えました。

続き
  IchigoJam用漢字フォントモジュールの製作 その2

« 微妙に仕様の異なる3.5mm 4極ミニプラグ接続AVケーブル | トップページ | Propeller始めました(8) スピーカーで音を出してみる »

arduino」カテゴリの記事

IchigoJam」カテゴリの記事

表示器制御関連」カテゴリの記事

コメント

コメントを書く

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

トラックバック


この記事へのトラックバック一覧です: IchigoJam用漢字フォントモジュールの製作 その1:

« 微妙に仕様の異なる3.5mm 4極ミニプラグ接続AVケーブル | トップページ | Propeller始めました(8) スピーカーで音を出してみる »