robo8080のブログ

ロボット製作や電子工作など。

豊四季タイニーBASICをmbedに移植してみた。

2014年05月03日 | TinyBASIC

”自分で組み立てて学ぶコンピューター”というものを見かけて調べてみたら、LPC1114にキーボードとディスプレイを繋いでBASICを動かすという面白いものだということが分かった。

自分で組み立てて学ぶコンピューター IchigoJam ブレッドボード版提供開始

しかし、自分の使い方だとディスプレイは不要なので、さらに調べてみるとマイコンにシリアル端末を繋いで動かすTinyBASICがあることが分かった。

豊四季タイニーBASICのリファレンスを公開  電脳伝説 Vintagechips

これは、Windows PC、PIC24F、Arduinoに対応しているが、mbedで使いたかったので移植してみた。

ハード依存はシリアル入出力ぐらいなので移植は簡単だった。

mbedに慣れた人なら1時間も掛からないと思う。

移植はここが参考になる。

豊四季タイニーBASICの移植の手引き  電脳伝説 Vintagechips

 


移植手順

1.ソースをダウンロードする。

 ここから豊四季タイニーBASICのソースをダウンロードし、適当なディレクトリに解凍する。

 PIC24F版が移植しやすい。

2.mbedコンパイラに新規プログラムを作成する。

 mbedコンパイラのメニュー New ー>New Program... で新しくプログラムを作成する。

 作成したプログラムに New ー>New File... で、空のファイル”ttbasic.cpp”と”ttbasic.h”を作る。

 拡張子は、”c”ではなく”cpp”なので注意

 

3.豊四季タイニーBASICのソースをmbedに持ってくる。

 豊四季タイニーBASICのソースを適当なテキストエディタで開き、先ほど作ったmbedコンパイラの該当するファイルへコピペする。

 必要なファイルは、"main.c"と”ttbasic.c”と”ttbasic.h”。

4.ソースを修正する。

 下記赤枠のようにソースを修正する。

【"main.cpp"の修正】

 

 ――――――――――――――――以下省略――――――――――――――――――――――

【”ttbasic.cpp”の修正】

 

 ――――――――――――――――途中省略――――――――――――――――――――――

 

 ――――――――――――――――途中省略――――――――――――――――――――――

 

 ――――――――――――――――以下省略――――――――――――――――――――――

 

  修正済みのソースをここに置いておきます。

 

5.コンパイルする。

いくつか警告が出るが無視しても大丈夫みたい。

Lpc1768とFRDM-K64F、LPC1114で動くことを確認している。

ハードウェアへの依存性が低いので他のmbedでも問題ないはず。

 6.実行する。

mbedに書き込み、TeraTermなどのシリアル端末ソフトで接続する。

うまくいけばこのようになるはず。これはLPC1114で動かした例。

 

 

7.コマンドの拡張

 ここまで来るとIO入出力コマンドを追加したくなるが、その時はここが参考になる。 

 実際にやってみたがそれほど難しくはなかった。

 ・機能拡張のおおまかな話  電脳伝説 Vintagechips

 


IO出力コマンドとWAITコマンドを追加してBASICでLチカしてみた。

 

  

 


豊四季タイニーBASICは、プログラムのLOAD機能がないので端末ソフトへのコピペで代用している。

しかしmbedの標準のシリアルだと少し長いプログラムをコピペするとすぐに取りこぼしてしまう。

その時はこのライブラリを使うとよい。

BufferSerial

使い方は「BufferSerial」ライブラリをインポートして、”ttbasic.cpp”を次のように修正する。

バッファサイズはお好みで...

 

 

ー以上ー

 


関連する記事

mbed LPC1114FN28を使ってみた。

mbed版豊四季タイニーBASICの機能を拡張してみた。(1)

参考リンク

mbed LPC1114での遊び方

 


最新の画像もっと見る

コメントを投稿

ブログ作成者から承認されるまでコメントは反映されません。