Tako can fry!

とほほ・・・

E-BASIC(仮)

結局あれから修羅場が続いて土日も出たりして。
そういうわけで代休もあり思わぬ長期休暇になりそうなので、付録基板の STM32 を使って BASIC みたいなものを作れないかという挑戦を続行することに。
しかし、仕事でさんざんプログラムを組んできたのに、まだプログラムを組むとは。。。


ちょっと仕切り直し。
なるべくインタラクティブにしたかったので、「ラベル」を定義するという形の言語にしようかと。
「ラベル」にピンの定義を割り当てたり、ループや関数の定義を割り当てるといったもの。
上の例だと「LED」というラベルに GPIO C ポートの 6 番ピンを出力として割り当てて、「LED」に 0 を代入したり 1 を代入したりしてる感じ。
GPIO C の 6 番ピンには、基板に載っている LED がつながっているので、これだけのプログラムで LED チカチカができてしまうというお手軽さ。


ループや関数も「ラベル」に割り当てるといった感じにしようかと。

MAIN: LOOP
  IF TIMER1=0
    LED=0
  ELSEIF TIMER1=500
    LED=1
  ENDIF
ENDLOOP


定義した後、RUN コマンドでループを実行する。

RUN MAIN


タイマーも欲しいなあ。

TIMER1: TIMER 1000

ms 単位のタイマーで、上の定義のように 1000 までカウントすると 0 に戻るようなものも載せようかと。(1000ms=1秒)
これを使えば上の MAIN のように、0.5 秒置きに LED をチカチカさせることも可能に。


あとは DATA 型というものを用意して、8/16 本のピンに同時に出力することで 7 SEG の LED を制御したり、キャラクタ表示液晶に文字を表示させたりということもできるようにしたい。


ちなみに E-BASIC の E は electronic circuit(電子回路) とか embedded(組み込み) の E を取ってみたわけやけど、もうちょっとカッコイイ名前が欲しいところ。