我正在尝试编写一个允许我将数组从pc1发送到pc2的java代码:
byte[] payload = -84 -19 0 5 117 114 0 19 91 76 106 97 118 97 46 108 97 110 103 46 79 98 106 101 0
在接收期间,我使用以下语句获得了数组“tab”:
int tab[]=response.getProcessedPacketBytes() ;
===> tab: 0 30 129 0 0 72 0 172 237 0 5 117 114 0 19 91 76 106 97 118 97 46 108 97 110 103 46 79 98 106 101 0 215
两个数组之间有什么关系?以及如何获得我的第一个阵列?
帮助
答案 0 :(得分:0)
我不是专家,但是:
首先,您要发送字节类型数组并接收int类型数组 - >这导致从-84到172和从-19到237的转换。
其次:在调用此“response.getProcessedPacketBytes”时检查接收缓冲区是否为空 - 可能您已在此缓冲区中使用“0 30 129 0 0 72 0”。
答案 1 :(得分:0)
您正在查看的是0x81帧类型。仔细阅读XBee模块的API模式文档(Series 1或Series 2)以了解相关字段,您可能希望以十六进制而不是带符号十进制的形式打印字节,因为这样做&#39 ; s文档使用的内容。
这是你收到的:
0 30: length of frame (30 bytes)
129: frame type (0x81)
0 0: source address (0x0000, the coordinator)
72: RSSI (received signal strength)
0: options byte
172 237 ... 101 0: your original message (unsigned bytes instead of signed bytes)
215: checksum of the bytes in the frame