|
悬赏3乐币已解决
最近在用手机控制nxt,已经可以通过蓝牙发送信息控制nxt。现在想接收nxt发回来的返回包,查看状态,但是遇到了问题。
比如发送:
byte[] data = { 0x0c, 0x00, (byte) 0x80, 0x04, 0x02, 0x32, 0x07, 0x01, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00,
0x0c, 0x00, (byte) 0x80, 0x04, 0x01, 0x32, 0x07, 0x01, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00 };
out.write(data); // out为OutputStream类型
按理说nxt应该返回返回包,其格式如下:
Byte 0 : 0x02
Byte 1 : 0x04
Byte 2 : 状态
但是我用如下代码想读取返回信息时:
byte[] buffer = new byte[3];
in.read(buffer);
却读不到信息。(端口打开正确,没有跳进异常,程序貌似是阻塞在read里了。)
有没有大牛做过这类事?求解!! |
最佳答案
查看完整内容
你的byte0就已经错了,你给的是0x80,你自己好好看看到底是什么意思!
Byte 0, Telegram Type
0x00:DirectCommand,responserequired
0x01:SystemCommand,responserequired
0x02:Replytelegram
0x80:DirectCommand,norespons ...
|