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

« ジャンク品のMSXの修理 その1 | トップページ | ジャンク品のMSXの修理 その2 »

2018年11月30日 (金)

豊四季Tiny BASIC for Arduino STM32で日本語フォント利用対応中(3)

豊四季Tiny BASIC for Arduino STM32の日本語フォント乗せ対応、
追加したい機能の実装はほぼ完了し、マニュアル作成と動作確認中です。
文字列比較関数等も追加しました。

動作の様子


NTSC版で全角フォントを表示するデモです。
全角フォントは8、10、12、14、16、20、24ドットの7種類が利用出来ます。
また、倍角、四倍角等の拡大表示も可能です。

デモのプログラムソース

10 CONSOLE 0
20 GCLS
30 SETKANJI 20,1,0,0
40 KANJI 10,0,"こんにちは、埼玉!"
50 SETKANJI 10,1,2,1
60 KANJI 10,30,"7種類の漢字フォントを使って、"
70 KANJI 10,42,"全角表示が出来るようになりました。"
80 SETKANJI 24,2,2,2
90 KANJI 0,60,"豊四季"
100 SETKANJI 20,2,0,0
110 KANJI 0,106,"Tiny BASIC"
120 SETKANJI 16,1,0,0
130 KANJI 0,150,"for Arduino STM32"
140 SETKANJI 24,2,0,0
150 KANJI 90,170,"V0.87"
160 WAIT 2000
170 FOR I=1 TO GW
180 GSCROLL 0,0,GW-1,GH-1,LEFT
190 WAIT 10
200 NEXT I
210 WAIT 2000
220 GOTO 20

マニュアル作成とテストにちょっと手こずっています。

現時点のバージョンは、GitHubのブランチからダウンロード可能です。
(このブランチは随時更新しています)
https://github.com/Tamakichi/ttbasic_arduino_stm32/tree/add_SDSfonts

   2018/12/08 修正 マスターブランチにマージしました(上記ブランチは削除します)。
                     => https://github.com/Tamakichi/ttbasic_arduino_stm32

ただし、ファームウェア・マニュアル等は旧版のままです。
ソースからコンパイルする必要があります。

フォント利用には、解凍したfontbinの下にあるSFONT.BINをSDカードに入れる必要があります。

描画速度をもう少し何とかしたいです。
漢字フォントをSPI接続のフラッシュメモリに配置すれば高速化出来るのですが、
フラッシュメモリの入手と書き込みがちょっと面倒なので悩みどころです。

また、BASICプログラムのソースが英字大文字だと可読性が悪いので、
GOTO => GoTo
WAIT => Wait
SETKANJI => SetKanji
IF => If
FOR I=0 TO 10 STEP  2:NEXT I => For I=0 To 10 Step 2: Next I
のように大文字小文字を混ぜる感じにしようかと検討中です。

« ジャンク品のMSXの修理 その1 | トップページ | ジャンク品のMSXの修理 その2 »

arduino」カテゴリの記事

ARM」カテゴリの記事

STM32」カテゴリの記事

日記・コラム・つぶやき」カテゴリの記事

コメント

初めまして。Arduinoについての過去記事を拝見させていただきました。
Arduinoについってお尋ねしたいことがあり、コメントさせていただきました。

私は現在、Aruino unoを用いて、あるTWIデバイス二つを同時にコントロールしたいと考えています。
Wire Libraryを用いることで一つを制御することは非常に容易なのですが、余ったピン(A3,A4)をもちいて
もう一つ同じものを制御することは可能でしょうか。
お時間があるときで構いません。返信をいただけるととても幸いです。
よろしくお願いいたします。

質問者さん、こんにちは

I2C(TWI)のバス(A4、A5)には
複数のI2Cデバイス(スレーブ)を接続することが出来ます。
2個目は、1個目と同じようにA4、A5に接続し、1個目と同じように制御出来ます。
一つを制御することが非常に容易なように、二つ目の制御も同様に非常に容易です。
ただ単に、二つめは一つ目の異なるI2Cアドレスを指定するのみです。

英語サイトですが、下記のリンクは2つのデバイス(センサー)を接続する例です。

Connecting multiple I2C device on Arduino Uno R3
(Arduino Uno R3に複数のI2Cデバイスを接続する)
https://duino4projects.com/connecting-multiple-i2c-device-on-arduino-uno-r3/

たま吉さま

返信ありがとうございました。また、お礼が遅くなってしまい申し訳ございません。

丁寧な説明にくわえて、分かりやすいサイトまで教えていただき
大変助かりました。無事、1つのArduinoで2つのセンサーを走らせることに
成功いたしました。
これからもブログの更新頑張ってください。
応援しています。

質問者さん

報告ありがとうございます。
成功して何よりです。
応援ありがとうございます。

コメントを書く

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

トラックバック

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

この記事へのトラックバック一覧です: 豊四季Tiny BASIC for Arduino STM32で日本語フォント利用対応中(3):

« ジャンク品のMSXの修理 その1 | トップページ | ジャンク品のMSXの修理 その2 »