我正在创建一个Java桌面应用程序。我想将数据写入设备的寄存器。根据我的项目文档,寄存器的大小为16位长。我正在使用EasyModbusJava jar将数据写入寄存器。到目前为止,我已经在设备的寄存器中写入了一些整数数据。现在,我想在16个连续寄存器(每个寄存器2个字符)中写入32个字符的ascii。但是问题在于,可以在寄存器上写入的可用方法将int作为参数。如果传递的是ascii值的short(int)数组,则需要进行类型转换,这意味着它将不再获取short数据类型的大小。
有有两种方法可以写入寄存器地址。
用于单寄存器写入
public void WriteMultipleRegisters(int startingAddress, int[] values){...}
用于多寄存器写入
public void WriteMultipleRegisters(int startingAddress, int[] values){...}
建议某种解决我问题的方法。
下面是我在项目中使用的jar文件文档的链接。Docs of Jar File.
I think最简单的方法是使用ByteBuffer
管理此字节操作。类似,
ByteBuffer