【发布时间】:2026-02-07 22:05:01
【问题描述】:
我正在尝试使用 java 将数据写入我的串行端口。现在我只能将数据填充到表格中。请问有什么办法可以将短数据写入串口。
这是我的代码:
static short[] bytearray = {0x02, 0x08, 0x16, 0x00, 0x00, 0x33, 0xC6 , 0x1B};
outputStream = serialPort.getOutputStream();
outputStream.writeShort(bytearray);
outputStream.flush();
我无法在输出流写入方法中使用 write short。谁能帮我这个。谢谢。
【问题讨论】:
-
outputStream的类型是什么?为什么你有一个名为byteArray的short 数组? (混淆事物的方式......)你得到什么错误? -
@JonSkeet 我很抱歉变量名。我收到的错误消息是
short[] cannot be converted to int。我实际上正在尝试将数据写入我的串行端口。这是我第一次使用 Java 串口插件。你能帮我解决这个问题吗? -
嗯,错误很明显,您将一个数组放入一个只需要一个元素的方法中!循环遍历您的数组并一次将一个元素写入流中。
-
@JPMoresmau 我必须做这样的事情吗?
for(int i=0; i<bytearray.length; i++){ outputStream = serialPort.getOutputStream(); outputStream.write(bytearray[i]); outputStream.flush(); }抱歉造成的影响 -
是的,就是这样...如果您的数组可以具有可变长度,您可能希望从长度开始,但当然这取决于另一端的预期。