1

在 ruby​​ 中使用 gem serialport 我有错误代码EOFError: end of file reached

irb
2.0.0-p451 :001 > require 'serialport'
 => true 
2.0.0-p451 :002 > serial_port = SerialPort.new "/dev/ttyUSB0", 115200
 => #<SerialPort:fd 7> 
2.0.0-p451 :009 > serial_port.write "@00RD0000020054*\r"
 => 17 
2.0.0-p451 :010 > r = serial_port.readline("\r")
EOFError: end of file reached
    from (irb):10:in `readline'
    from (irb):10
    from /home/user/.rvm/rubies/ruby-2.0.0-p451/bin/irb:12:in `<main>'

有什么建议吗?

4

2 回答 2

1

尝试为读写创建单独的 SerialPort 对象。这似乎是 Ruby 的一个问题 - 请参见此处:http ://www.rngtng.com/2009/11/27/if-your-ruby-serial-port-doesnt-read-what-youre-sending/

于 2014-03-20T17:49:34.897 回答
0

尝试以下

serial_port.readlines

而不是

serial_port.readline("\r")

我也可以建议

serial_port.readlines("\r")
于 2014-08-25T18:52:06.170 回答