超漢字ウェブサイトシリアルポート操作マイクロスクリプトを使って、シリアルポートをアクセスするための文を説明します。ファイルでの設定が必要です。Playerのシリアルポートの作成方法」をご参照ください。∇シリアルポートのデータ受信の仕組みシリアルポートから入ってきたデータは、“入力バッファ”に順にためられます。入力バッファの大きさは512バイトです。入力データが512バイトを超すと古いデータから自動的に消されます。入力バッファには、常に最新の512個(バイト)のデータが入っていることになります。入力バッファとは別に、システム変数$RS[0]~$RS[511]があります。入力データを読みたいときには、RSGET文により入力バッファの内容を$RSにコピーする必要があります。入力バッファの内容を直接読み出すことはできません。シリアルポートを初期化します。使用するシリアルポート番号を指定する0~3の値。シリアルポートのモードを指定する10進5桁の値(CFPSD)。†C=1のサポートは機種に依存します。†F=4、5のサポートは機種に依存します。†0または省略した場合は、0018(フロー制御なし、パリティチェックなし、ストップビット1ビット、データ長8ビット)と見なされます。†たとえば、“XON/XOFFフロー制御、偶数パリティ、ストップビット2ビット、データ長8ビット”を指定したいときは、モード式は1228となります。〈通信速度式〉シリアルポートの通信速度(単位:bps)を指定する以下のいずれかの値。751503006001200240048009600192003840057600115200†0または省略した場合は9600と見なされます。†実際に指定したボーレートがサポートされるか、または正常に動作するかどうかは機種に依存します。一度初期化した後に、再度同じポートに対してRSINIT文を行うと、シリアルポートのハードウェアを初期化し、バッファの内容をすべてクリアします。RSINIT文は、RSPUTN文、RSPUTC文、RSWAIT文、RSGETN文、RSGETC文を実行する前に必ず実行しておく必要があります。〈ポート式〉【,〈送信データ式〉...】シリアルポートに〈送信データ式〉(バイト)の列を送信します。最大512個までの送信データ列を記述できます。〈送信データ式〉として部分配列の指定もできます。RSPUTC文を実行すると、入力バッファの内容はすべてクリア(オールゼロ)されます。〈送信データ式〉を省略するとクリアだけが行われます。RSPUTC文の実行によって、システム変数$RS、$RSCNTの内容は変化しません。】RSPUTN文の実行時に、入力バッファの内容をクリアしない点を除くと、RSPUTC文と同じです。入力バッファに〈受信データ式〉(バイト)列があるかどうかを調べます。あれば、システム変数$ERRに0がセットされ、すぐに戻ります。ない場合は、〈受信データ式〉を受信するまで待ちます。〈タイムアウト式〉は秒単位で指定します。0~86400(24時間)の範囲です。〈タイムアウト式〉を省略した場合は永久に待ちます。〈タイムアウト式〉が0の場合はすぐ戻ります。タイムアウトで終了したのか、条件を満たして終了したのかは、システム変数$ERRで判断できます。RSWAIT文の実行によって、システム変数$RS、$RSCNTの内容は変化しません。"受信不成功"ENDIFENDRSWAIT文を実行しても入力バッファの内容はクリアされずに残っています。〈タイムアウト式〉が0の場合はすぐに制御が戻ります。そこで、$ERR変数を使用してバッファ内の入力データを検索することができます。したがって、以下のような判断をすることができます。入力バッファの内容をシステム変数$RSにコピーします。コピーしたデータの数(バイト数)をシステム変数$RSCNTに設定します。$RSCNTには、入力バッファが最近にクリアされた以降に入力バッファに入ってきたデータ(バイト)数が設定されます。したがって、$RSCNTが512を超す場合は、最新の512バイトのみが$RSにコピーされ、($RSCNT-512)バイト分のデータが消失したことを意味します。($RSCNT>512)※最新の512バイトのみが格納されている。RSGET文を実行しても入力バッファの内容は変化しません。入力バッファのクリア(オールゼロ)は、RSPUTC文、RSGETC文、またはRSINIT文によってのみ行われます。1つのシリアルポートを、複数のスレッドから同時にシリアルポートを操作した場合の動作は保証されません。〈ポート式〉RSGETC文の実行時に、入力バッファの内容をクリアする点を除くと、RSGETN文と同じです。ブレーク信号を900ms送出する(〈変数〉の指定は無視)〈機能番号式〉=0の時に〈変数〉に格納される回線状態は以下の4ビットの値(0~15)となります。Corp.JavaScriptが無効になっているため、カスタム検索はお使いになれません。