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

« 次はSTM32ボードを積極的に使ていきたい(13) - グラフィック液晶 | トップページ | 次はSTM32ボードを積極的に使ていきたい(15) - Tiny BASIC(3) »

2017年4月13日 (木)

次はSTM32ボードを積極的に使ていきたい(14) - Tiny BASIC(2)

豊四季版tiny BASIC をBlue Pill用に移植&機能追加中です。

02

オリジナル版は、シリアル接続で行単位のプログラム入力でしたが、
ビデオ出力とPS/2キーボード対応、フルスクリーンエディタ対応等の機能追加して
IchigoJamのような感じで利用出来るようになってきました。

03

04

グラフィック描画や、GPIOを使った入出力、I2C、シリアル通信、RTC対応等
色々と詰め込中です。

豊四季タイニーBASIC for Arduino STM32 V0.6
https://github.com/Tamakichi/ttbasic_arduino/tree/ttbasic_arduino_ps2_ntsc

« 次はSTM32ボードを積極的に使ていきたい(13) - グラフィック液晶 | トップページ | 次はSTM32ボードを積極的に使ていきたい(15) - Tiny BASIC(3) »

arduino」カテゴリの記事

ARM」カテゴリの記事

STM32」カテゴリの記事

コメント

たま吉さん、TinyBASIC に興味があり、よく拝見しています。
現在、私は PIC32MX250F128B に豊四季タイニーBASIC の移植を試みています。
使用法としては、組み込みで、ターミナルから使うことを想定しています。

そこで、質問なのですが、

1.豊四季タイニーBASIC for Arduino STM32 のソースの一部分を使わさせて頂いてよろしいでしょうか。
2.もし使ってよろしいなら、V0.5 と V0.7 、どちらから引用したらいいでしょうか。(TV出力は使わないです。)

以上、よろしくご回答をお願いします。

みのすけさん

ソースの使用、OKです。
ターミナル上で本格的なスクリーン制御を行うのであれば、V0.5の方が良い思います。
V0.5では、ターミナル上でフルスクリーンエディットをサポートしています。
V0.6以降は、一旦ターミナルのスクリーン制御を廃止しています。

スクリーン制御はmcursesライブラリをつかっています。
mcursesライブラリの移植も必要になるかもしれませんね。
https://nuneno.cocolog-nifty.com/blog/2017/03/arduinocurses-9.html

たま吉さん、ありがとうございます。

豊四季タイニーBASIC for Arduino STM32 V0.5 は機能が豊富ですごく参考になります。

所で変数は A~Z のみですが、自由な文字列の変数を使う様には出来ないでしょうか。
最初に A~Z に自由な文字列変数の割り当てを宣言してから使う様にします。
例えば、

10 DEFINE LED1 AS A ← LED1 という変数を 変数Aに割り当てて使用する。
20 LED1=1
30 OUT LED1

当方、プロクラミングの知識が浅く、自分で追加するのは難しいです。
ご意見をよろしくお願いします。

みのすけさん

まずは、変数の管理については、次の構造を踏まえての修正が必要となります。

1)豊四季タイニーBASIC では、入力したプログラムの文字列を
決められたキーワードに対応する中間コードに変換してメモリー上に格納しています。

2)変数はそのキーワードに無い1文字のアルファベットというルールで変数と判断しています。
そのアルファベットA-Zは変数コード0~25となります。
中間コードでは[I_VAR] [変数コード]の2バイトで管理しています。

10 DEFINE LED1 AS A
20 LED1=1
30 OUT LED1

を実装するには、
10 DEFINE LED1 AS A では
1)DEFINE、ASの中間コードの追加
2)中間コードに変換するフェーズでDEFINE以降の文字列を変数の別名として管理するテーブル等への登録

20 LED1=1、30 OUT LED1 では
1)LED1を中間コードに変更する際、
[I_VAR][変数コード]の形式に従い、LED1をAの変数コードに変換する処理の実装
2)中間コードからの逆変換で
[I_VAR][変数コード]からLED1を復元するための処理の実装

等のLED1の中間コード変換、中間コード逆変換を処理する必要があります。

豊四季タイニーBASIC の開発者さんが
「タイニーBASICをCで書く」とう書籍を出しているので、参考にしてはどうでしょうか?
私は購入していませんが...^^

たま吉さん、アドバイスありがとうございます。

「タイニーBASICをCで書く」の本を読んで、トライしてみようと思います。

コメントを書く

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

トラックバック


この記事へのトラックバック一覧です: 次はSTM32ボードを積極的に使ていきたい(14) - Tiny BASIC(2):

« 次はSTM32ボードを積極的に使ていきたい(13) - グラフィック液晶 | トップページ | 次はSTM32ボードを積極的に使ていきたい(15) - Tiny BASIC(3) »