Ruby:使用gem serialport到达文件的末尾

时间:2014-03-20 17:34:59

标签: ruby serial-port eoferror

在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>'

任何建议?

2 个答案:

答案 0 :(得分:1)

尝试使用crate单独的SerialPort对象进行读写。这似乎是Ruby的一个问题 - 见这里:http://www.rngtng.com/2009/11/27/if-your-ruby-serial-port-doesnt-read-what-youre-sending/

答案 1 :(得分:0)

尝试以下

serial_port.readlines

而不是

serial_port.readline("\r")

我可能也会建议

serial_port.readlines("\r")