Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/svg/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Serial port jruby添加RXTX串行侦听器_Serial Port_Jruby_Inner Classes - Fatal编程技术网

Serial port jruby添加RXTX串行侦听器

Serial port jruby添加RXTX串行侦听器,serial-port,jruby,inner-classes,Serial Port,Jruby,Inner Classes,我需要每隔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

我需要每隔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
,但没有成功。长时间的谷歌搜索让我停滞不前(有些沮丧)。
欢迎任何帮助。

您是否尝试从示例导入和扩展SerialReader类?我决定从头开始。我的目标是通过串行接口进行通信,通过定向卡每500毫秒发送一条消息。这使我确信我正在使用另一个库,事实上我找不到所提到的方法。根据本文,我下载了Javacomm库。现在,下一步是将它们称为desctibed。最后,我创建了一个侦听器,并正确地接收发送的172字节的消息。我写的代码只是为了防止有人想节省时间。下一步是将接收到的消息提供给主应用程序。