我正在使用serialport gem从Arduino串口读取值。
serialport.readline
显示EOFError(在几次读数后,或者没有读数),只要我不重新启动计算机。
然后它完美地运行,直到将新程序上传到arduino(使用platformio,linux)或者通过任何其他方式访问此端口。
require 'gtk3'
require 'serialport'
serialline = nil
serial = Thread.new do
serialport = SerialPort.new('/dev/ttyACM0', 115200)
loop do
serialline = serialport.readline
end
end
gtk = Thread.new do
#Some gtk here
GLib::Timeout.add(10) do
#some other gtk
puts serialline
end
end
gtk.join