フォト
2017年3月
      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 31  
無料ブログはココログ

« ArduinoによるI2C EEPROMのエミュレーション (5) | トップページ | arduino用漢字フォントライブラリSDカード版の製作(2) »

2016年5月13日 (金)

arduino用漢字フォントライブラリSDカード版の製作(1)

最近、ArduinoでSDカードをいじっているのでこの機会に以前作成した漢字フォントROM
SDカードに移植することにしました。

実際にやってみると、SPIフラッシュメモリからの読み込み部の関数の差し換え程度で
簡単に移植出来ました。SPIフラッシュメモリの代わりにmicroSDカードにフォントデータ
ファイルを入れ、そのファイルからデータを取得します。

動作確認はSainSmart製Arduino UNO互換機を利用
3.3Vでの稼働が可能で、オスとメスのジャンパワイヤーが利用出来て便利です。

Dscn5217

Arduino IDEでの移植作業
SDカードライブラリを使うとフラッシュメモリ、SRAMの消費量が多くなります。
ダイエット作業がちょっと必要です。

現状だと、「Arduino - TV出力(TVoutLibrary使用)で漢字表示」でやった処理を
SDカード版に置き換えることは出来そうにないです。

02

7種類(8,10,12,14,16,20,24ドット)のフォントデータの取得動作チェック
文字列(UTF-8)に該当するフォントデータを取得し、そのパータンをコンソール出力しています。

画像は24ドットのフォントを表示していることろ

01

何となく問題なく動作しています。あとは表示速度やエラー処理、メモリ消費量を
押させる等の見直しをやっていきます。

取りあえずは、手持ちの液晶ディスプレイに日本語文章を表示して使い物になるかを
評価したいと思います。


2016/05/15 追記


テーブル等の領域をプログラム領域(フラッシュメモリ上)に配置することでRAMの使用が
259バイト少なくすることが出来ました。ただし速度的に若干低下する可能性があります。

03

2016/05/16 追記

手持ちの液晶ディスプレイ Nokia5110によるフォント表示テスト

Dscn5222

この液晶ディスプレイは表示は見やすいですが、ビットデータの並びが縦方向なので
表示のために、フォントデータを回転させる必要ります。

SPIフラッシュメモリに比べるとやはりちょっと遅いですね。
まあ実用レベルです。

この表示テストでいくつかの不具合を発見しました。移植前の不具合もありました。
また、使いにくところを改善(おもにメモリ消費を抑える)しました。

8ドットフォント

Dscn5219

16ドットフォント

Dscn5220

24ドットフォント

Dscn5221

この液晶ディスプレイで8の倍数以外のフォントを表示する場合ちょっと処理が面倒です。
縦に詰める際、一旦表示中のデータを読んで合成して再度書き込む必要があります。

この液晶ディスプレイでは表示内容の参照は出来ないようで、ちゃんとやるには
書込み用のバッファを用意してく必要があります。
それは面倒なのでやりません。結果、現状では8、16、24ドット以外は行間に隙間が空きます。

« ArduinoによるI2C EEPROMのエミュレーション (5) | トップページ | arduino用漢字フォントライブラリSDカード版の製作(2) »

arduino」カテゴリの記事

コメント

コメントを書く

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

トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/571408/63621639

この記事へのトラックバック一覧です: arduino用漢字フォントライブラリSDカード版の製作(1):

« ArduinoによるI2C EEPROMのエミュレーション (5) | トップページ | arduino用漢字フォントライブラリSDカード版の製作(2) »