2

jruby のシリアル COMx または /dev/ttySx インターフェイスから 500 ミリ秒ごとに着信メッセージを読み取る必要があります。

私がやろうとしているのは、リスナーを再トリガーするために、このを 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