Tako can fry!

とほほ・・・

E-BASIC(仮) (4)

そもそも Arduino を使って回路のプロトタイプを組んだり、回路のデバッグ用の信号を出したりしようと思ってたわけやけど、いざ買おうとしたときに品切れだったために「自分で作ってみるか」と考えたのがキッカケ。
PIC 等のマイコンや ARM 等の評価基板を使うにしても、プロジェクトを開いて、プログラムをコンパイルして、さらにターゲットにダウンロードして、ようやく動作を確認できるというように、手順がやたら多くなってしまうのが困りもの。
「ある信号をトリガにして、20ms 後にリセットをかける」といった簡単なことをさせたいだけなのに、上のような手順を踏むとなるとちょっと腰が重くなってしまう。
そういうわけで、仮想 COM ポートから簡単にプログラムできる E-BASIC を作った次第。


VAL 型と ARRAY 型を追加。
これを使って昨日のプログラムを書きなおすと、こんな感じに。

SEG7ARY: ARRAY 129 237 67 73 45 25 17 141 1 9
SEG7: DATA GPIOD 0 1 2 3 4 5 6 7 OUT
COUNTER: VAL 0
FLAG: VAL 0
TIMER1: TIMER 1000
MAIN: LOOP
  IF TIMER1 = 500
    IF FLAG = 0
      COUNTER = COUNTER + 1
      IF COUNTER >= 10
        COUNTER = 0
      ENDIF
      SEG7ARY = COUNTER
      SEG7 = SEG7ARY
      FLAG = 1
    ENDIF
  ELSEIF TIMER1 = 600
    FLAG = 0
  ENDIF
ENDLOOP

配列の扱いが悩ましいところやけど、例えば

SEG7ARY = 3

とすることで、SEG7ARY の(0 から数えて) 3 番目の 73 を参照できるようにしている。


代休で今日まで休みやったから、一気に作ってきたけど、今後はぼちぼち次の項目を実装していこうと思う。

  1. LOOP 内 LOOP (BREAK で LOOP 脱出)
  2. DELAY コマンド
  3. CALL コマンド (別 LOOP の呼出)
  4. COM ポート入出力