• 締切済み

TeraTerm シリアル通信の垂れ流しデータ取得

ターミナルソフト「TeraTerm」の「マクロ」を使用して、RS-232C 経由でシリアルポートに接続された端末機器(測定器)と通信するソフトウェアを開発中です。 「マクロプログラム」の中から「あるテキストデータ」を送信(sendln)すると、端末機器からは時々刻々の測定値データを1行ごとに連続して垂れ流しで返してくれる。 この垂れ流れてくるデータを取り込んで、ある種の判断処理プログラムを制作したいのだが、この手の言語に不慣れなこともあって、相談させてください。 一般的な場合、コマンド「recvln」を発行するとシステム変数「inputstr」に受診データが格納されるのだけど、今回のような垂れ流されるデータのの場合も同じようなことをするのだろうか? コンソールに時々刻々と垂れ流しデータが表示されているのだから、何か重複してしまう操作のように思えてならない。 もっとスマートな処理方法があるように思えてならない。 なるべくリアルタイムに近い処理をさせたいので、無駄な処理は省きたい。 ご教授やアドバイスをいただければ助かります。

みんなの回答

noname#206655
noname#206655
回答No.1

通常、垂れ流せれたデータが溜まると、割り込みが発生します。 その割り込みを受け取って1バイト受信します。 これをTeraTermにやらせようというのですね。 通信には「同期」と「非同期」がありますが、TeraTermで目的の事が出来るかどうか?VisualBasicではRS-232Cのモジュールが売ってると思います。VBは基本、割り込みが使えません。C言語なら割り込みを記述できますが、現実的ではないような。 貴殿や、貴殿の仲間でどんな言語が出来るのでしょう。 Windowsなどの言語の元では、厳密なリアルタイムは難しいと思います。

HitArts
質問者

補足

早速のご回答をありがとうございます。 開発言語は「VB」とか「C言語}ではなく、TeraTerm の「マクロ言語」を想定しております。 TeraTerm 画面をユーザーI/Fとして利用できるので、開発工数は極めて少なくなります。 取り急ぎです。

関連するQ&A