Ruby SerialPorts

时间:2010-03-28 06:05:55

标签: ruby rubygems hardware serial-port hardware-interface

我正在使用ruby串口gem。打开端口后,我发送了我想要的数据。

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

有效。关于为什么会发生这种情况的任何想法?

1 个答案:

答案 0 :(得分:1)

它可能与某种缓冲区有关,它只在以下情况下被刷新(即:发送数据):

  1. 您明确地在字符串末尾发送CRLF
  2. 它(缓冲区)已满
  3. 仅仅是为了测试,尝试在字符串末尾添加\ r \ n是不对的?