0

我正在使用 jamod (ModBus api) 和在 Android 上运行的 Beaglebone Black。我成功地将它用于 ModBus TCP Slave 应用程序。它就像一个魅力。现在我正在尝试将它用于 Modbus 串行从站应用程序。但我有一个错误。我认为问题是端口名。我不确定使用什么作为端口名。这是我尝试过的代码:

ModbusSerialListener listener = null;
SimpleProcessImage spi = null;
spi = new SimpleProcessImage();
spi.addRegister(new SimpleRegister(45));
spi.addRegister(new SimpleRegister(56));
spi.addDigitalOut(new SimpleDigitalOut(false));
spi.addDigitalOut(new SimpleDigitalOut(false));
ModbusCoupler.getReference().setProcessImage(spi);
ModbusCoupler.getReference().setMaster(false);
ModbusCoupler.getReference().setUnitID(1);
SerialParameters params = new SerialParameters();
params.setPortName("/dev/ttyO0");
params.setBaudRate(9600);
params.setDatabits(8);
params.setParity("None");
params.setStopbits(1);
params.setEncoding("ascii");
params.setEcho(false);
listener = new ModbusSerialListener(params);
listener.setListening(true);

错误:java.lang.NoClassDefFoundError:net.wimpi.modbus.net.SerialConnection。我在“listener = new ModbusSerialListener(params);”得到它 部分。

- - - - - - - - - - - 编辑 - - - - - - - - - - -

我找到了导致问题的原因。jamod 试图使用 javax.comm api。由于 Android 上没有应用程序,因此该应用程序崩溃了。有没有办法将 javax.comm 导入项目?

4

1 回答 1

0

对我来说,它有助于将“comm.jar”“RXTXcomm.jar”拖到我项目的lib文件夹中。

此 jar 文件位于sourceforge的 jamod.zip 中

于 2014-05-13T14:23:13.953 回答