RFduinoBLE_onReceive 发送字节数组时

RFduinoBLE_onReceive when sending bytearray

我正在尝试将 8 位字节数组发送到 rfduino。

草图中,我得到了

void RFduinoBLE_onReceive(char *data, int len) {
   int firstbyte = data[0];
   Serial.println(firstbyte)
}

如果 firstbyte 超过 32,这工作正常。但是如果我发送 [13,...] 的 byteArray,firstbyte 被解析为 0。

我想我明白为什么(?): RFduinoBLE 在将传入数据发送到此函数之前将其解析为字符,最多 32 个字节为空字符串。

所以我的问题是:如何使用 RFduinoBLE-onReceive 读取值低于 32 的字节数组?

以下似乎工作正常:

void RFduinoBLE_onReceive(char *data, int length) {
    uint8_t firstbyte = data[0];
}

或数组

uint8_t getData[20];

void RFduinoBLE_onReceive(char *data, int length) {
    for (i = 0; i < length; i++) {
        getData[i] = data[i];
    }
}

不太确定 right/wrong 去了哪里,但我怀疑要么使用 int firstbyte 而不是 uint8_t firstbyte 铸造 [=14= 】 做了一件我没想到的事。