- 締切済み
TeraTerm シリアル通信の垂れ流しデータ取得
ターミナルソフト「TeraTerm」の「マクロ」を使用して、RS-232C 経由でシリアルポートに接続された端末機器(測定器)と通信するソフトウェアを開発中です。 「マクロプログラム」の中から「あるテキストデータ」を送信(sendln)すると、端末機器からは時々刻々の測定値データを1行ごとに連続して垂れ流しで返してくれる。 この垂れ流れてくるデータを取り込んで、ある種の判断処理プログラムを制作したいのだが、この手の言語に不慣れなこともあって、相談させてください。 一般的な場合、コマンド「recvln」を発行するとシステム変数「inputstr」に受診データが格納されるのだけど、今回のような垂れ流されるデータのの場合も同じようなことをするのだろうか? コンソールに時々刻々と垂れ流しデータが表示されているのだから、何か重複してしまう操作のように思えてならない。 もっとスマートな処理方法があるように思えてならない。 なるべくリアルタイムに近い処理をさせたいので、無駄な処理は省きたい。 ご教授やアドバイスをいただければ助かります。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
noname#206655
回答No.1
通常、垂れ流せれたデータが溜まると、割り込みが発生します。 その割り込みを受け取って1バイト受信します。 これをTeraTermにやらせようというのですね。 通信には「同期」と「非同期」がありますが、TeraTermで目的の事が出来るかどうか?VisualBasicではRS-232Cのモジュールが売ってると思います。VBは基本、割り込みが使えません。C言語なら割り込みを記述できますが、現実的ではないような。 貴殿や、貴殿の仲間でどんな言語が出来るのでしょう。 Windowsなどの言語の元では、厳密なリアルタイムは難しいと思います。
補足
早速のご回答をありがとうございます。 開発言語は「VB」とか「C言語}ではなく、TeraTerm の「マクロ言語」を想定しております。 TeraTerm 画面をユーザーI/Fとして利用できるので、開発工数は極めて少なくなります。 取り急ぎです。