|
[ruby-list:42165] Re: RS232Cによるパソコン間の通信の不具合(質問): msg#00196lang.ruby.japanese
長い質問に丁寧にご回答いただき大変有り難うございます。 いただいた忠告を受けて、検討しましたが、なお不明です。 1 バイナリーモード(binmode)の設定方法がよくわかりません。 system "MODE COM1 BAUD=9600 PARITY=N DATA=8 STOP=1" port = open("com1", "r+").binmode でよいのでしょうか?。エラーになりませんが、受信状態は正しいパケットとはい えませんでした。 "rb"と書いた例も見たので、試したのですが、エラーとなります。 ios.binmode と参考書にあるのは、port.binmodeと同じでしょうか。 2 正しいデータを受け取ることのできたプログラムを、再度、実行した結果、今度 は(おそらく)化けて受信しました。 プログラムを変更したわけではありませんが、今度は下記のように正しいデータ をうけとれません。 バイナリーモードの設定をしなかったので、文字を飛ばされた可能性があるとい うことだと思います。 これに規則性があれば、なぜ、最初の実行時は、下記の一連の受信したパケット のように、ほぼ正しいデータ列(頭のみ0Dが欠落)を読み込んだのか不思議です。 また、規則性があれば、すぐ調べられると思うのですが。たとえば、コード0Dは 受信しても無視されるなど。 A 7E 70 12 24 BC 88 9 C EB 1F F0 32 FC 83 1 2B F2 A2 C A7 FA AC A 7E 70 12 24 BC 88 9 9 EB 1F F0 32 FC 83 1 32 F2 A6 C A4 FA B1 A 7E 70 12 24 BC 88 9 11 EB 1F F0 32 FC 83 1 30 F2 A6 C A8 FA BB A 7E 70 12 24 BC 88 9 14 EB 1F F0 32 FC 83 1 29 F2 A2 C AB FA B6 A 7E 70 12 24 BC 88 9 16 EB 1F F0 32 FC 83 1 29 F2 A0 C AD FA B8 3 "COMn"を直接オープンして、読み書きをする場合に安定しない理由が理解できる と気持ちがすっきりしますが、 「> WindowsにせよLinuxにせよ排他だの同期だのブロッキングだのと シリアルポー トのデバイスドライバの機能はDOSのそれと比べると > 複雑になってます。」ということを知るだけで納得できます。有り難うございまし た。 4 「シリアルポートはRubyが想定している標準的なリソースではないので、 これ をRuby側の問題ではなく、ライブラリで解決すべき問題である。」とのご指摘、承り ました。 すなわち、拡張ライブラリーによって解決するもので、そのために、 ruby/serialportやRuby-termiosなどが提供されていることと理解します。 この拡張時にどのような処理がされたかがわかれば、理解を深められるわけで しょう。 5 Microsoft visual C++.netをインストールしたものの、ある時に、無料の Borlandを搭載しました。そのために、makeでは Borlandがでると思います。 Ruby本体は「ruby 1.8.2 (2004-11-06) [i386-mswin32]」でRDE上で動かしてい ます。 >利用しているコンパイラによって、mswin32、mingw、cygwin、bcc32といった種別が あります。 なるほどです。 > その種別によって、拡張ライブラリのmake方法も異なります。 > Borland C++で拡張ライブラリを作りたいのであればbcc32でないと > 色々面倒だと思います。 > 手っ取り早くビルドしたいのであればcygwin版が面倒がないでしょう。 RDEを愛用しているので、cygwin版がよいと聞いてもなかなか移れずにいます。 なかむらさんの「自分で新規に拡張ライブラリを作りたいということでしたら、まず は普通にCでプログラムが書けるようになるのが先決かと思います。」とのご忠告了 解しました。 Microsoft visual C++.netで動くのでれば、とにかく簡単な事例で動作を確認 しながら、本格的に勉強したいと考えています。 ところが、そのとっかかりで全く動かないので、躓いたままです。それ以上に深 入りができない状態を続けています。 少しでもわかる人が側にいればラクなのでしょうが。 > (なんなら手元でビルドしたファイルを提供しても構いませんが...) いよいよのときには、是非お願い申し上げます。 矢幡 久
|
|
| <Prev in Thread] | Current Thread | [Next in Thread> |
|---|---|---|
| Previous by Date: | [ruby-list:42164] Re: NKF MIME encode problem, しん |
|---|---|
| Next by Date: | [ruby-list:42166] Re: RS232Cによるパソコン間の通信の不具合(質問), U.Nakamura |
| Previous by Thread: | [ruby-list:42162] Re: RS232Cによるパソコン間の通信の不具合(質問), AOKI Shigeru |
| Next by Thread: | [ruby-list:42166] Re: RS232Cによるパソコン間の通信の不具合(質問), U.Nakamura |
| Indexes: | [Date] [Thread] [Top] [All Lists] |
| News | FAQ | advertise |