2

我需要每 500 毫秒从 jruby 下的串行 COMx 或 /dev/ttySx 接口读取一条消息。

我想要做的是将这个例子翻译成 Ruby,以便重新触发监听器。

我正在学习 jRuby,所以我开始激活串口,然后我尝试以这种方式添加侦听器:

java_import('gnu.io.RXTXPort') { 'JSerialPort' }

begin
 sp=JSerialPort.new('COM6')  
sp.setSerialPortParams(38400,8,1,0)
rescue 
  puts @error_message="myerror #{$!}"
ensure 
  sp.close
end

它似乎工作。接下来是添加侦听器,在上面的示例中在这一行进行了描述

 serialPort.addEventListener(new SerialReader(in));

这在描述addListener 方法的地方进行了描述

我尝试了很多方法来调用这些addListener方法,但我没有设法通过 jRuby 调用这样的内部方法。

我试过sp::RXTXPort::addEventListener没有运气。长时间的研究谷歌搜索让我停滞不前(有些沮丧)。欢迎任何帮助。

4

0 回答 0