Ruby SerialPorts - PullRequest
       35

Ruby SerialPorts

0 голосов
/ 28 марта 2010

Я использую гем последовательного порта ruby. После того, как я открываю порт, я отправляю данные, которые хочу, вот так.

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 Ответ

1 голос
/ 28 марта 2010

Это может быть связано с каким-то буфером, который очищается (т.е. отправляет данные), когда:

  1. Вы явно отправляете CRLF в конце вашей строки
  2. Он (буфер) полон

Только для проверки, было бы неправильно, если бы вы попытались добавить \ r \ n в конец строки?

...