robo8080のブログ

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

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

2014年05月10日 | TinyBASIC

せっかくマイコンに豊四季タイニーBASICを移植したので、IO入出力コマンドも使いたくなってきたので機能拡張してみた。

豊四季タイニーBASICのコマンド拡張方法はここで解説されている。 

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

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

大まかな手順は、 

1.Keyword tableにキーワードを追加する。

2.中間コードを追加する。

3.追加するコマンド/関数の処理を実装する。

4.追加したコマンド/関数を呼び出す処理を追加する。

 IO出力のようなコマンドの時は、iexe()へ追加。

 IO入力のような入力関数の時はivalue()へ追加。

 


IO出力の「OUT」コマンドと一定時間待つ「WAIT」コマンドを追加する例を紹介する。

豊四季タイニーBASICのmbedへの移植は終わっているものとする。

もし、入力関数を追加したいときはABS関数のgetabs()を参考にするとわかりやすい。

追加するコマンドの書式は

【OUT】

 OUT io番号 , 出力データ

  io番号 : 0と1(この例では、LED1とLED2に割り当ててある)

  出力データ : 0,1

 使用例:OUT 0, 1   LED1を点灯(mbed platformによっては0を出力で点灯するものもある)

【WAIT】

 WAIT 待ち時間

  待ち時間の単位はms

 使用例:WAIT 1000   1秒待つ

 


コマンド追加のためのソース修正

「ttbasic.cpp」に下記赤枠の修正をする。 

 

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

 

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

 

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

 

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

 

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

 


追加したコマンドでLチカをやってみた。

こういう時は抵抗内蔵LEDが便利。(秋月で購入)

 

 

 

 ー以上ー

 


関連する記事

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

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

参考リンク

mbed LPC1114での遊び方

 


最新の画像もっと見る

コメントを投稿

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