Я работаю с гемом Ruby 1.8.7 SerialPort для связи с AVR через конвертер FTDI232 USB-to-Serial.Кажется, у меня проблема с SerialPort, инициализирующим новый SerialPort.
Я обнаружил, что когда я открываю соединение с PuTTY в Windows или Minicom в Linux и отправляю команды таким образом, все работает так, как оно есть.должен.
Я также заметил, что после закрытия PuTTY / Minicom мой код работает нормально.Поэтому я уверен, что что-то не работает с тем, как гем SerialPort инициализирует последовательное соединение.
Кто-нибудь еще сталкивался с этой проблемой или есть идеи, как ее исправить?
РЕДАКТИРОВАТЬ: Вот пример кода.require 'rubygems' require 'serialport'
sp = SerialPort.new("COM5", 115200)
sp.print("A\r")
data = sp.readline("\r\n")
puts data
sp.close
Этот код должен открывать соединение и отправлять символ, указывающий тип данных, требуемых от моего AVR.Затем он ожидает передачи данных обратно и выводит их на экран.
Когда мое устройство подключено изначально, код просто зависает при чтении, но после остановки сценария открывает соединение с PuTTY, закрываетПри подключении PuTTY скрипт делает именно то, что должен.