[Top]

BASIC Stamp 2 入力と出力編

心構え

そもそもプログラムする前の心構えについて記述しておきます. コンピュータのことを詳しい(と思い込んでいる)人ほど落とし穴にはまります. いきなりですが,,,すみませんが,,,「20年前」にタイムスリップしてください.

BASIC Stampには何種類かのモジュール(ハードウェア)があります. その種類によって,メモリーの量や搭載されているBASIC言語インタープリターのバージョンが 異なります. そのバージョンによって,使える命令と使えない命令があるのです. 電子おもちゃ設計論2005年春学期で紹介したBASIC Stampモジュール(BS2-IC) Parallax社BS2-ICのページ 秋月電子のページ(価格3900円) ばBASIC Stamp 2です. このモジュールで利用可能なPBASIC(Parallax BASIC)は, Version2.0と2.5 なのです. 当然,新しい数字の大きなVersion2.5のほうが強力です.

「Help」機能を用いて,使用説明を見るときにはこのことを忘れないでください. そうでないと「使えない命令」を使おうとして,文法エラーが発生してしまうのです. 使用説明通りにプログラムを作成しているはずなに,動かないと悩むことになります.

例えば,プログラミングの一般論として, 条件分岐を行う命令「IF 条件式 THEN 真の場合の処理 ELSE 偽の場合の処理 」という 命令がほとんどのコンピューター・プログラミング言語で利用可能です. ところが,PBASIC Version 2.0では使えません(以下参照).

条件が真のとき,どこかへジャンプする処理しか記述できません. したがって,以下のようにGOTO文を用いて飛びまくるしかないのです.

IF 条件式 THEN GOTO WHEN_TRUE
偽のときの処理
GOTO EXIT1
WHEN_TRUE:
真のときの処理
EXIT1:

しかし,PBASIC Version 2.5なら使えるのです(以下参照).

IF 条件式 THEN 
真のときの処理
ELSE
偽のときの処理
ENDIF

あなたの作るプログラムはBS2-ICだけで動作すればいいのですか? それとも,もっと「安価」な下位機種でも動作するように 「下位互換性」を考慮してプログラムを作成しますか? 決めるのはあなたなのです.善悪の問題ではありません. 苦労してプログラムを作成しますか? その結果,可読性が損なわれるかもしれません. 間違いが混入するかも知れません,完成まで多くの手間隙が 必要かもしれません.

まずは,PBASIC Version2.0のプログラム例を示します. なぜかというと,このドキュメントを作成するときまで, 私はBS2-ICでVersion2.5が使えるなんて知らなかったのです. ぉぃぉぃ.

動作確認用汎用基板の作成

色々な試行錯誤とテストを行うために半田付けを行って, 基板上にBS2-ICを取り付けました.


(写真を撮りたい!!ためだけに電子おもちゃのサポートを頑張っていまーす)
おもな配線は以下の通りです. 単に,コネクターを取り付けて,RS232Cの配線と電源を繋いだだけなのです.

動作確認すべし

コンピュータを用いたシステムは, 入力,処理,出力という三つの大きな?役割があります. 全てが正しく動かなければ,存在意義はありません. 単なる漬物石です. あるは,カップラーメンの3分間待つ間の蓋の重しです.

まずは出力を行う部分のハードウェアとソフトウェアを作成して, そのハードウェアとソフトウェアが正しいことを証明(検証)します. 賢くハードウェアを設計すれば,あるいは 測定器を用いれば,ソフトウェアを介さなくても ハードウェア単体の検査も可能です.

その後,入力した値を処理をしないで, そのまま出力させることにより, 入力部分のハードウェアとソフトウェアが正しいことを検証します. ここでも,賢くハードウェアを設計すれば,あるいは 測定器を用いれば,ソフトウェアを介さなくても ハードウェア単体の検査も可能です. また,すでに出力部分は検証済みのはずです. したがって,入力部分だけを調べることができます.

そして,最後に,何か入力した情報を元に,処理をさせて,出力させます. 少なくとも今回は,処理はソフトウェアだけで実現します. 入力と出力が正しいことは検証済みです. 処理だけが正しいかどうかを調べることができます.

Sample Screen Dump

プログラム作成中の画面表示を示します.

プログラム中で使用したPBASIC命令のHELP参照

  • HELP:DEBUG

  • HELP:INPUT

  • HELP:OUTPUT

  • HELP:HIGH

  • HELP:LOW

  • HELP:pause

  • HELP:IF

  • HELP:IF...THEN

  • HELP:IF...THEN...ELSE

  • HELP:GOTO

  • HELP:END

  • CTRL-R

    プログラムを入力後,「<CTRL>-R」を押すと, 転送が始まります. そして,人間が入力した命令を 「メモリー節約のため」中間言語に変換して, BS2-IC上のEEPROM(電気的に消去可能なプログラムメモリー)へ保存します. BASIC Stampはコンパイラー系ではなく,インタープリター系です. あくまで実行時にのみ「最終的に実行可能な命令」に変換されます.


  • 実行中のPC上の画面表示です. DEBUG命令文の末尾にCR(Carrige Return)と記述すると, 改行してくれます. DEBUG命令文はその名の通り,プログラムの動作確認のための メッセージをパソコン画面に表示させます. これはそうとう便利そうです.

  • PBASIC Version2.5を選択するときのメニューです.


  • PBASIC Version2.5を選択すると,以下のコードが自動的に挿入されます. BASIC文法上コメントではありますが,エディターは解釈します.
    '{$PBASIC 2.5}
    




    [Top]