在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>'
任何建议?
答案 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")