< Tako2 Lab!
e-BASiC
最終更新:
tako2lab
-
view
e-BASiC
(準備中)
汎用入出力やタイマー、COM ポート、アナログ入力にラベルを付けて、ラベルの組合せで簡単にハードを制御しちゃおうといった意図のインタプリタ言語です。
Design Wave Magazine 2008年5月号の付録基板(CQ-STARM)で動作します。
Design Wave Magazine 2008年5月号の付録基板(CQ-STARM)で動作します。
文法
入出力ポートの指定 [PORT]
- ポートは A ~ E まであり、次のように指定します。
GPIOA ~ GPIOE
ピン番号の指定 [PIN_NO]
- ピン番号は 0 ~ 15 まであり、次のように指定します。
PIN0 ~ PIN15
- ポートの後であれば数字のみでも指定できます。
ポートAの5番ピン ⇒ GPIOA 5
入力/出力の指定 [IN|OUT]
- ラベルで定義するピンが入力か出力かを指定します。
プルアップ/プルダウンの指定 (PULLUP|PULLDOWN)
- ラベルを入力で定義したとき、プルアップさせるかプルダウンさせるかを指定します。
- どちらでもない場合、何も指定しません。
汎用入出力(GPIO)
LABEL: [PORT] [PIN_NO] [IN|OUT] (PULLUP|PULLDOWN)
- 参照: そのピンの状態が Low なら 0 を返し、High なら 1 を返します。
- 代入: そのピンの状態に 0(Low) か 1(High) を設定します。 (出力ピンのみ有効)
- 例:デジタル出力ピンの定義
LED1: GPIOC PIN6 OUT
- 例:デジタル入力ピン(プルアップ)の定義
BTN1: GPIOD 8 IN PULLUP
バス入出力(DATA)
LABEL: DATA [PORT] [PIN_NO]...[PIN_NO] [IN|OUT] (PULLUP/PULLDOWN)
- ピン番号は下位から指定します。
- 参照: そのバスの状態を返します。
- 代入: そのバスの状態を設定します。
- 例: データ出力の定義
SEG7: DATA GPIOD 0 1 2 3 4 5 6 7 OUT SEG7: DATA GPIOD 0..7 OUT
- 例: データ入力の定義
DBUS: DATA GPIOD 0 1 2 3 IN PULLDOWN
アナログ入力(ANALOG)
タイマー(TIMER)
外部割り込み(EXTI)
PWM(PWM)
UART ポート入出力(UART)
LABEL: UART [UART_NO] [UART_SPEED] (NUMBER)
- UART_NO ... UART ポート番号、0 の場合 PC との通信ポート
- UART_SPEED ... 9600/19200/38400/57600/112000 等の数値を指定
- NUMBER ... オプション
- 参照: 入力がない場合、-1 を返す
- 代入: UART ポートへ数値を出力 (下位 8bit が有効)
- 例:UART ポート 1 を 19200bps でオープン
COM1: UART 1 19200
ループの定義(LOOP)
コマンド
ラベルの参照(PRINT)
PRINT [LABEL]
- LABEL で定義されているラベルの参照値を表示します。
ループの実行(RUN)
RUN [LABEL] [LABEL] (ARG)
- LABEL で定義されているループを実行します。
- RUN は省略できます。
- 引数を指定できます。
- 例:
HEX 30