我有 0x38、0x39、0xC0 和 0xE8 之类的十六进制代码,我想将这个十六进制代码原样发送到蓝牙,无需转换为十六进制或整数。我使用此代码在我的应用程序中发送(蓝牙活动):
byte[] hex_txt = {(byte)0x38, (byte)0x39, (byte)0xC0, (byte)0xE8};
OutputStream outStream;
try {
outStream = socket.getOutputStream();
outStream.write(hex_txt);
System.out.println("byte sent: " + hex_txt);
}
当我将此代码发送到蓝牙时,它会进一步发送到 Arduino 板,它必须匹配这些十六进制代码并执行一些操作。我的 arduino 代码是:
if(Serial.available()>3)
{
if(Serial.read()==0x38 && Serial.read()==0x39)
code=Serial.read()+Serial.read()*256;
irsend.sendCode(code,16);
Serial.println("code sent is");
Serial.println(code,DEC);
}
这个 Arduino 代码没有问题,但是从我的应用程序发送到蓝牙的内容可能是错误的......所以它不匹配。我需要以什么类型发送这些十六进制代码?