包XBee S1的格式

时间:2015-08-18 16:13:16

标签: arrays xbee

我正在尝试编写一个允许我将数组从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

两个数组之间有什么关系?以及如何获得我的第一个阵列?

帮助

2 个答案:

答案 0 :(得分:0)

我不是专家,但是:

首先,您要发送字节类型数组并接收int类型数组 - >这导致从-84到172和从-19到237的转换。

其次:在调用此“response.getProcessedPacketBytes”时检查接收缓冲区是否为空 - 可能您已在此缓冲区中使用“0 30 129 0 0 72 0”。

答案 1 :(得分:0)

您正在查看的是0x81帧类型。仔细阅读XBee模块的API模式文档(Series 1Series 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