将ASCII值写入串行通信设备(如RS485)的寄存器中

问题描述 投票:0回答:1

我正在创建一个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.

java modbus serial-communication rs485 easy-modbus
1个回答
0
投票

I think最简单的方法是使用ByteBuffer管理此字节操作。类似,

ByteBuffer
© www.soinside.com 2019 - 2024. All rights reserved.