我正在使用ruby 1.8.7serialport gem,通过ftdi232 usb-to-serial转换器与avr通信。我似乎对SerialPort初始化新的SerialPort有问题。
我发现,当我在windows上使用putty或linux上使用minicom打开连接并以这种方式发送命令时,一切都会正常工作。
我还注意到在关闭PuTTY/Minicom之后,我的代码可以正常工作因此,我认为串行端口gem初始化串行连接的方式有问题。
有没有其他人经历过这个问题,或者对如何解决这个问题有什么想法?
编辑:
这是一个代码示例。
需要“rubygems”
需要“serialport”
sp = SerialPort.new("COM5", 115200)
sp.print("A\r")
data = sp.readline("\r\n")
puts data
sp.close
此代码应该打开一个连接并发送一个字符,指示需要从我的AVR获取的数据类型然后它等待数据被传回,并将其打印到屏幕上。
当我的设备最初连接时,代码只是挂在read上,但是在停止脚本、使用putty打开连接、关闭putty连接之后,脚本会按照预期的方式执行。
最佳答案
在Windows中,一次只能有一个进程连接到串行端口我对Linux不太确定。
确保在代码中正确设置波特率。
如果您仍然遇到问题,请发布一些非常简单的示例代码,以及对预期行为和实际行为的描述。
关于ruby - Ruby SerialPort似乎没有初始化,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9286864/