2022.5.31
前へ
次へ
ホームページトップへ戻る


PIC−USBIO using BASIC

〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
USBインターフェースを内蔵したPICを使ってWindowsパソコンで外部回路を制御するための各種I/O基板の製作記事です。
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜

[第5回]



●まずはBASIC for PIC−USBIOのサンプルです

前回まで書いてきましたように、7年もの間手をつけずに置いたままのPIC−USBIOボードですが。
やっぱりWindows上で動くBASICがどうしても必要だなあ、という考えに落ち着きました。
もちろんPIC−USBIOを制御できるBASICです。
そんなものはありません。
なければ自力で作るしかありませんでしょう。

PIC−USBIOを制御するといいましても、そのために必要なのはPIC−USBIOにコマンド、データを送るためのOUT命令とPIC−USBIOからデータを受け取るためのIN関数のみです。
そこにUSBでの送受信の機能を埋め込みます。
それさえできればあとはいたって普通のBASICと変わりません。
ということはとにかくWindowsパソコン上で動くBASIC(もっと正確に言えばコマンドプロンプト上で動くBASIC)を作ることです。
ということで。

実は。
先月からちょうど1ヶ月かけてその作業にかかっていました。
かなり気を入れてやったおかげでまずまずというところまでできましたので、BASICについてはそこで一旦置いて、あとはハードウェアの拡充を、ということでPIC−USBIOのファミリー基板の製作にかかっておりました。
その基板ももうじき上がってくる予定です。
基板ができてきましたらまたご披露申し上げるつもりです。

それで。
とりあえず形ができてきましたBASICについて、その概要などを簡単に説明することにいたします。
ちょっと1回では説明しきれないと思います。
2〜3回に分けて説明することになると思います。
今回はその手始めに。
どんな感じのBASICなのかということで、まずは簡単な動作見本を見ていただくことにいたします。
と言っても見たところは今まで見ていただいていたND80Z3.5などのZB3BASICと変わりません。
ただし、こちらは本当にコマンドプロンプト上でBASICが動作します。
C++で作ったEXEプログラムです。
こちらがBASICプログラムを起動した画面です。

まだ開発中ですのでとりあえずのプログラム名はpicio7d.exeです。
どこにもBASICの名前はついていませんがBASICです。
起動するとログファイルがOPENします。
ログファイル機能付きです。
ZB3BASICと同じようにスクリーンエディタの機能もついています。
そもそもはPIC−USBIOのためのBASICですから、あくまでPIC−USBIOと接続してそれを制御するのが目的のBASICです。
ですからPIC−USBIOボードに接続していない状態でプログラムを起動すると上のように警告メッセージが表示されます。
しかしPIC−USBIOボードに接続していなくてもBASICの動作には支障はありません。

簡単なプログラムを作成して実行してみました。

AUTOコマンドも使えます。
AUTOは行番号を自動的に表示するコマンドです。
上の画面ではその動作はよくわかりませんが、AUTOを実行すると行番号10が表示されます。
そこでその後ろに命令文を入力して最後に[Enter]を入力するとその行がシステムに読み込まれて次の行番号20が表示されます。
AUTOを打ち切るには[CTRL]+[B]を入力します。
上では行番号40が表示されたところで[CTRL]+[B]を入力しました。
LISTは入力作成したユーザープログラムを表示するコマンドです。
FOR〜NEXTはFORで変数に指定した値がTOで示す値を越えるまでの間STEPで示す増分を加算しながらNEXTまでを繰り返し実行します。
STEPを省略すると増分は1になります。
RUNコマンドでユーザープログラムを実行します。
/EXITはBASICシステムを終了してコマンドプロンプトに戻るコマンドです。
同時にログファイルがCLOSEされます。

上のテストで作成されたログファイルです。
logfile piciolog\05312013.txt open
*** pic i/o ***
pic i/oが接続されていないか電源が入っていません
>auto
>   10   10for abc=0 to 10 step 2
>   20   20print abc
>   30   30next abc
>   40   40
>list
   10 for abc=0 to 10 step 2                                                  
   20 print abc                                                               
   30 next abc                                                                
>run
0
2
4
6
8
10
>/exit

リモート接続を終了しました
logfile closed at Tue May 31 20:18:07 2022

BASICそのものの機能ではありませんが、ログはとっても便利な機能です。
あとでテストの結果などを整理したり、期待したのと異なる結果が出たときなどにその原因を解析するのに役立ちます。
単純にテストの記録としても大いに役立ちます。

本日は時間がなくなってしまいました。
今回はPIC−USBIO用のBASICがとりあえずここまで動作するところまでできているというところを見ていただきました。
次回はPIC−USBIO用のBASICに今までに組み込んだコマンド、命令、関数などについて説明を進めます。

PIC−USBIO using BASIC[第5回]
2022.5.31upload

前へ
次へ
ホームページトップへ戻る