みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

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

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

投稿日時 - 2015-03-25 21:06:54

QNo.8942875

困ってます

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(1)

通常、垂れ流せれたデータが溜まると、割り込みが発生します。
その割り込みを受け取って1バイト受信します。

これをTeraTermにやらせようというのですね。

通信には「同期」と「非同期」がありますが、TeraTermで目的の事が出来るかどうか?VisualBasicではRS-232Cのモジュールが売ってると思います。VBは基本、割り込みが使えません。C言語なら割り込みを記述できますが、現実的ではないような。
貴殿や、貴殿の仲間でどんな言語が出来るのでしょう。

Windowsなどの言語の元では、厳密なリアルタイムは難しいと思います。

投稿日時 - 2015-03-25 21:24:56

補足

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

投稿日時 - 2015-03-25 22:19:56

あなたにオススメの質問