用Java计算串行十六进制字节数
每次发送我都会收到11字节的数据。它总是以识别设备的0A 52开头。其余的是:用Java计算串行十六进制字节数,java,jakarta-ee,serial-port,Java,Jakarta Ee,Serial Port,每次发送我都会收到11字节的数据。它总是以识别设备的0A 52开头。其余的是: 0A 52 08 01 01 01 00 C1 20 02 59 52 Packettype 08 subtype 01 Sequence nbr 01 01 ID 00 C1 SenseT 20 SenseH 02 Status 5 level 9 PwrLvl 由于没有CR/LF,读取11个字节的最佳方式是什么?确保它以0A 52开
0A 52 08 01 01 01 00 C1 20 02 59
52 Packettype
08 subtype
01 Sequence nbr
01 01 ID
00 C1 SenseT
20 SenseH
02 Status
5 level
9 PwrLvl
由于没有CR/LF,读取11个字节的最佳方式是什么?确保它以0A 52开头,并且仍然能够将最后一个字节拆分为半字节
谢谢你的帮助
而((len=this.in.read(缓冲区,0,1))>-1)
将要读取的字节长度设置为1将解决此问题。
见:
这比我能解释得更好 这个问题是一个很好的起点,给出的示例可以很容易地修改为读取11字节,而不是8字节。javax.comm在我的理解中或多或少被贬低了。不推荐使用?我不这么认为。不过,您可能需要使用API的第三方实现,具体取决于您的平台。看,是的,这就是我在qbang.org上使用的rxtx。