|
[ruby-list:42162] Re: RS232Cによるパソコン間の通信の不具合(質問): msg#00193lang.ruby.japanese
青木@ナセ工企です。 すでにリプライついておりますが、 >1 問題は、0Dのバイトが脱落したのです。何故、脱落するのか不明です。 テキストモードだからでしょうね。0Dが読み飛ばされます。 バイナリモードでopen()しましょう。 >2 ところが、同じように、再度、PCを実行すると、電子コンパスからのパケット >を表示開始が極めて遅く、表示と表示との間もあきます。 シーケンスとしては、 PC→電子コンパス:SOP,命令コード,データバイト数,データ,チェックサム を送ると(しばらくしてから?) 電子コンパス→PC:SOP,命令コード,データバイト数,データ,チェックサム が返ってくるわけですよね? 送信シーケンスが化けているのでパケットとして認識されてないとか、 あるいは他にハンドシェイク条件があるのかもしれません。 >5 また、「面倒でも [ruby-list:42127] で紹介されていた ruby-serialport など >を使う」ことを検討したいと思いました。しかし、えださんによれば、「僕もおなじ >ような状況になって困ったことがあります。とある機械との接続ははruby-serialで >大丈夫なのに、別の機械だとうまく動かない、と。」 この問題が依然として残る可 >能性があるのでしょうか。 さぁ?シリアルポートの実装によっては安定しないということもあるかも 知れません。 が、"COMn"を直接オープンしてというやり方よりは安定するような気がします。 >6 以上の問題は、直接には、Rubyでは対応できないソフト上の問題を内在している >のでしょうか。えださんや桜井さんがすでに経験されたように、他の拡張ライブラ >リーを使うのが早道で、諦めるべきでしょうか。 どうもこのあたりが誤解があるなあと思うのですが、矢幡さんが直面して いる問題は環境の問題であって、言語の問題ではありません。 シリアルポートはRubyが想定している標準的なリソースではないので、 これをRuby側の問題にしてしまうのはかわいそうです。 ライブラリで解決すべき問題であるかというのなら、その通りだと思います。 >C:\ruby-hy>makeとすると、画面には、 >MAKE Version 5.2 Copyright (c) 1987, 2000 Borland ということは、Borland C++がインストールされているのですね。 たぶんWindows環境での話しだと思うのですが、Ruby本体はどの版を お使いなのでしょう?利用しているコンパイラによって、mswin32、 mingw、cygwin、bcc32といった種別があります。 その種別によって、拡張ライブラリのmake方法も異なります。 Borland C++で拡張ライブラリを作りたいのであればbcc32でないと 色々面倒だと思います。 手っ取り早くビルドしたいのであればcygwin版が面倒がないでしょう。 (なんなら手元でビルドしたファイルを提供しても構いませんが...) WindowsにせよLinuxにせよ排他だの同期だのブロッキングだのと シリアルポートのデバイスドライバの機能はDOSのそれと比べると 複雑になってます。DOSで簡単にできたからといって同じ感覚で 簡単にできると思うと色々ハマれるのではないでしょうか。 ------------------------------------------------------------ 東京大学大学院工学系研究科 / (有)ナセ工企 青木 茂 mailto:saoki-FORCTJUUkgPbmG5+kqVDhQ@xxxxxxxxxxxxxxxx mailto:aoki-E0433/OuU7Mh4X1ZLvYpJ+ga9YzINl48@xxxxxxxxxxxxxxxx mailto:shig-wwJ3oxS5HtEPE9aycRD6tQ@xxxxxxxxxxxxxxxx
|
|
| <Prev in Thread] | Current Thread | [Next in Thread> |
|---|---|---|
| Previous by Date: | [ruby-list:42161] Re: RS232Cによるパソコン間の通信の不具合(質問), Hisashi Yahata |
|---|---|
| Next by Date: | [ruby-list:42163] Re: RS232Cによるパソコン間の通信の不具合(質問), AOKI Shigeru |
| Previous by Thread: | [ruby-list:42161] Re: RS232Cによるパソコン間の通信の不具合(質問), Hisashi Yahata |
| Next by Thread: | [ruby-list:42165] Re: RS232Cによるパソコン間の通信の不具合(質問), Hisashi Yahata |
| Indexes: | [Date] [Thread] [Top] [All Lists] |
| News | FAQ | advertise |