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での遊び方

 


5月9日(金)のつぶやき

2014年05月10日 | 日記

TK-80の全機能をPICやAVRボードに移植するのは比較的簡単だが、移植先のROMサイズも768バイトに抑えるのはかなりの腕がいると思ふ。成功した方っているんでしょうか?

robo8080さんがリツイート | RT

UNIDUINOのチュートリアル。アナログ入力でCube回せた。 vine.co/v/M63QjWp63iz

robo8080さんがリツイート | RT

おもしろそう。 : メカナムホイールとBrickPiでLEGO全方向移動ロボット youtube.com/watch?v=DA4X9k…

_gdata_player


トラ技2014年6月号 特集「3Dプリンタでまるごと電子工作」でありますヨロ(`・ω・´)スクデス! 明日5/10発売予定! pic.twitter.com/2TSGukWAiw

robo8080さんがリツイート | RT

久しぶりにmbedでMARY基板+OLED基板を使おうとしたら表示が出ない。斜めからよく見るとうす~く表示が出ている。OLED基板壊れた?


好評発売中!でござる。
KRS-6003HV ICS Red Versionバルク品
ccpt.jp/HwhWIARV

robo8080さんがリツイート | RT

ほほ~: 2014 NASA Sample Return Robot Challenge Proposal Video - Team KAIST youtube.com/watch?v=9sUKbt…

_gdata_player


まじかー // 補助金で年収500万円保証 政府、起業促す :日本経済新聞 s.nikkei.com/1nf6OVk

robo8080さんがリツイート | RT

【完全手作りコンピュータ】
 
やっと6MHzでの1+1=2ができた。画像は
 
LD A,1
ADD A,1
HALT(Accの値をLEDに転送し停止)
 
を実行し、2を表示して停止した所。
(基板の裏はジャンパーだらけ~♪) pic.twitter.com/l4xP3ABJp4

robo8080さんがリツイート | RT

昨日発売の日経Linux 6月号では、Raspberry Piロボット「ラピロ」を音声で動かします! その他、ラズパイにJavaScriptの「API」を設けてハードの知識なしにいじれるマシンにし、BeagleBone BlackにLCD Capeを付けて動画プレーヤーします。

robo8080さんがリツイート | RT

ガンダムUC episode 1~6の地上波放送、今週末はテレビ東京にて、5/11(日)深夜2:41~よりep1「ユニコーンの日」とepisode 2「赤い彗星」が放送です! gundam.info/topic/10674 (広報いぬ) #g_uc

robo8080さんがリツイート | RT

先程のマイクロUSBコネクタを木製仕様にしてみました!やっぱり木製は可愛いですよね、作るのが大変だけどそれに勝る可愛さです。木製バージョンの販売予定は無いですが、イベント限定で販売するかもしれません!作り方動画も上げる予定です。 pic.twitter.com/j8o90QjJb9

robo8080さんがリツイート | RT

水中での抵抗は空気抵抗の比にならず、一般的な拳銃だと、数㍍しか弾丸が飛ばない。有効射程では3㍍以上進んだ弾薬の大半が皮膚を貫通するだけの運動エネルギーを失うらしい。映画で水中に逃げ込むシーンとかよく見るけど割と正しい判断なんだなあれ。 pic.twitter.com/QqSUegqnuM

robo8080さんがリツイート | RT

これいいな。 : LPC1114 + mbedで遊んでみました。 youtube.com/watch?v=kIUzSt…

_gdata_player


懐かしい。: neko on ARM Cortex-M0(LPC1114) youtube.com/watch?v=0TE97r…

_gdata_player

1 件 リツイートされました

おもしろそう。 : A X86/ARM Emulator with source (Channel 9) channel9.msdn.com/coding4fun/blo… @ch9さんから

1 件 リツイートされました