• ベストアンサー

RS-232-C で通信する方法について

a-kumaの回答

  • ベストアンサー
  • a-kuma
  • ベストアンサー率50% (1122/2211)
回答No.1

unix と言っても色々有るし、プロトコルによっても変わってくるので、 一般的なことだけ。 もし無手順で通信するのであれば、一般的には ioctl() でモデムを制御して、 通信は read()/write() で行うのが、一般的なやり方です。 と言っても、ioctl() の引数は、使っているOSやモデムによって変わってくる 可能性があります。 もし、何らかの手順、例えばベーシック手順とかを使うのであれば、それようの ライブラリ(パッケージ)が売られている可能性があります。もし、費用的に 問題が無ければ、使った方が楽です。 老婆心から言いますが、「プロトコルは分かりません」では、絶対通信できない ですよ。「無手順でつなぐ」ということは、アプリケーションの範囲で、何らか の取り決め(これが、「プロトコル」ですね)にしたがって通信するわけです。 まずは、誰と、どういう手順でつなぐのかを確認しましょう。

hogehogeninja
質問者

お礼

どうもありがとうございます。 通信相手はデジタルオシロスコープで、IEEE488(IEEE482はまちがいでした)準拠のオリジナルプロトコルを使います。(やりとりはテキストメッセージなので、まぁ細かいことは気にしなくてもお互いに何かしゃべり合うことができれば何とかなるだろう、と思ってました) UNIXでデバイスの使い方が分からなかったので質問したのですが、ファイルのような顔をした「デバイス」なるものがあるのですね。 そこに読み書きすればいいんですよね。

関連するQ&A

  • RS232CとPCの通信

    RS232Cを使って、PCとシリアル通信をしたいのですが、 RS232Cの通信について、制御線や手順について詳しく書いてあるサイトを知りたいです。 もしご存知でしたら、教えていただきたいです。 よろしくお願いします。

  • .net を用いて RS232C通信を行うことは可能?

    (1)VC++ を用いて RS232C通信のDLLファイルを作成している のですが、.net(VC++) を用いて、RS232C通信のDLL ファイルを作成することは可能でしょうか? (2) また、現状使用している VC++ のソース(プロジェクト) は、そのままで .net でコンパイルすれば使用可能なので しょうか? (3) 可能であるが、変更,対策が必要な場合、どのように すればいいのでしょうか? 以上、よろしくお願いいたします

  • RS232CとRS422

    RS232CとRS422は、どう違うのでしょうか。 通信距離が、10m程度の232Cに比べ、1km程度と長い のが422なのでしょうか。

  • RS232C回線を使って通信

    PC9801とウィンドウズMeがはいっているPCとでRS232C回線を利用して ファイルのやり取りを行いたいんですが方法がわかりません。 またPC9801側はRS232C回線への命令をN88basicで行いたいと思っています。その方法を教えてください。

  • RS-232Cの通信方式に関して。

    RS-232Cの通信方式に関して質問ですが、RS232Cから出力された信号は[半二重方式][全二重方式]のどちらになりますか・・? あるいは、RS232C搭載機器によって出力される信号が異なるものなのでしょうか。。 お手数をおかけいたしますがお願い致します。

  • RS232C 同期型通信

    RS232Cで調歩同期型通信のやり方は良くのっているのですが、同期型通信するためにはどうすれば良いのですか?? また通信方式によってメリット、デメリットはあるのですか? すみませんが教えてください

  • RS232C 通信について

    RS232Cの通信信号の中で ”CD”という受信キャリア検出という信号があると思うのですが、これは、受信側で行う最初の信号のやりとりなのでしょうか?

  • PCMCIAカードでRS232C通信

    古いマシニングセンターと最近のノートPCをRS232通信 したいのです。 USB変換でRS232C通信するよりもPCMCIAカードでRS232C 通信する方が安定すると聞きました。 機械側は25ピンのオス 指定された、ケーブルは9ピン25ピンのメスの ケーブルです。 これをノートPCと接続しRS232C通信するための、PCMCIAカード でお勧めのをご存知なら教えて頂けないでしょうか? お願いします。

  • VISCAプロトコル(RS232C通信)のプログラム

    VISCAプロトコル(RS232C通信)のプログラムがうまく動きません。 大学の研究にてSONYのEVI-D100というカメラをパソコンから制御する必要が出てきました。 このカメラはVISCAプロトコル(RS232C通信)で制御するらしく、シリアル通信でコマンドを送る以下のようなプログラムをウェブで見つけて参考にしています。 http://onishi-lab.jp/programming/rs232c_win.html しかし、短いコマンド(例:カメラを右にパンする、81 01 06 01 10 10 02 03 FF)は動くのですが、長いコマンド(例:カメラのパンチルト上限を設定、81 01 06 07 00 01 0F 0A 05 00 0F 0E 09 08 FF)になるとコマンド中に0が入ると動いてくれません。また、コマンド中に0がなくても思うような動きをしてくれません。 一応自分で通信タイムアウトは書き加えたのですが、それでもうまく動きません GetCommTimeouts( hCom, &cto ); // タイムアウトの設定状態を取得 cto.ReadIntervalTimeout = 0; cto.ReadTotalTimeoutMultiplier = 0; cto.ReadTotalTimeoutConstant = 1000; cto.WriteTotalTimeoutMultiplier = 0; cto.WriteTotalTimeoutConstant =1000; SetCommTimeouts( hCom, &cto ); // タイムアウトの状態を設定 RS232Cについては初心者なのでよくわからないことも多いのですが、どこをどう書き換えれば動くかなどを教えていただけると幸いです。よろしくお願いします。 EVI-D100のマニュアルページへのリンクを貼っておきます。 http://www.totsu.co.jp/isp/ispproducts/pdf/D100_tec.pdf

  • RS422通信について

    訳あってRS422A通信ポートのついた温調器を、RS232C、またはRS422Aでパソコン制御することになりました。が、私はほとんど初心者で途方にくれています。近辺の書店、ヤ○ダ電気などを周りましたが参考になる書籍が見つかりませんでした。 通信制御のイロハについて教えてくださるようなサイトはないでしょうか?どうかご教示お願いいたします。