PICのファーム

 GPIBとのやりとりは、PICがおこない、パソコンとのやりとりは、RS232Cとなり、すべてcomポートを通してのやりとりになります。
 そこでPICへのコマンドを以下のように決めました。

コマンド ASCII 引数 応答 内容 備考
S 53 無し 無し リセット(全IOポートが入力)
T 54 ER タイムアウトを秒単位で指定 1〜12秒まで設定可能
初期値は1秒、設定範囲外を指定すれば、エラーとなり最大値12秒となる
C 43 コマンド ER ATNをLowにしてバスコマンドを出力 コマンドは、1byteのみ
W 57 バイト数
データ
ER ATNをHighに上げてデータを出力 MAX32byte
D 44 無し ER
LF
LF(デリミタ)が検出されるまでデータを受信 ・・・ LF(0xa)を受信したとき受信終了
E 45 無し ER
EOI
EOIが検出されるまでデータを受信 data+EOIを検出したとき受信終了
dataに続きEOI(0x04)をPCに送出
R 52 無し ER
EOI
1byteデータを受信 data+EOIを検出したとき
EOI(0x04)をPCに送出
*EOI発生時のデータバイトは、無視される
大文字
引数は、順次送信 正常時ER:0
異常時ER:01
EOI:04
LF:A


 PICのファーム用のコンパイラとしては、mikroBasic PRO for PIC(ver6.6.1)を使用しました。mikroBasic PROは、フリーソフトではありませんが2kワードまでは、制限なく使用できます。このプログラムは1770ワードですのでフリーの範囲におさまっています。
 

PIC16F1827ファーム


戻る