Java串口通信发送十六进制的问题

您好!您在2013年回答过一个知友的关于Java串口通信发送十六进制的问题,请问我现在想要发送16进制数0x41,是不是写out.write(HexString2Bytes("0x41"))还是out.write(HexString2Bytes("41")),第一个写法报错了额,而且运行之后总是一直在运行。新手求包容呢。。
现在下位机的代码已经写好了,只能接受十六进制数。所以我必须要发送一个 十六进制数,一个就行,但必须十六进制。
我是别人合作的,下位机的单片机已经烧制好了,所以下位机程序不能改了。

对于输入输出来说,就只有二进制,没有十六进制的说法。
你还是说说,这个程序到底是要几个二进制位。
---------------
你看看这样行不行。
试试下面这两种方法。
1.输出4个字节
int value = Integer.parseInt("41", 16);
out.write(value);

2.输出一个字节
byte value = Byte.parseByte("41", 16);
out.write(value);追问

这样不就相当于out.write(65)和out.write((byte) 65)吗,可是没用啊。裸奔都没用,后来我还试了发送out.write("B".getBytes("utf-8")),还是没用。另外想问下,用rxtx在java中做串口通信,设置了params之后发送数据就不需要发起始位了吗?在下位机上有设置起始位,那么在上位机直接发送数据就可以吗
就你一个人回答我,唉。。调了将近一天了

追答

串口通信这种东西没接触过,不过下位机程序没有说明文档吗?还是得去问问对方到底是要接受什么样的数据。

一般Java程序员不太接触这种底层的东西,建议去知乎或者C板块去问问吧。

温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答