0

私はルビーのシリアルポートの宝石を使用しています。ポートを開いた後、このように必要なデータを送信します。

sp.write [200.chr, 30.chr, 7.chr, 5.chr, 1.chr, 2.chr, 0.chr, 245.chr].to_s

それは機能しませんが、私がそれを約200回のループに入れると:

200.times do
  sp.write [200.chr, 30.chr, 7.chr, 5.chr, 1.chr, 2.chr, 0.chr, 245.chr].to_s
end

できます。なぜこれが起こっているのかについてのアイデアはありますか?

4

1 に答える 1

1

これは、次の場合にのみフラッシュされる(つまり、データを送信する)ある種のバッファーに関連している可能性があります。

  1. 文字列の最後に明示的にCRLFを送信しています
  2. それ(バッファ)がいっぱいです

テストのためだけに、文字列の最後に\ r \ nを追加しようとするのは間違っていますか?

于 2010-03-28T07:27:27.303 に答える