Arduino将长字符串发送到Android

时间:2016-08-10 07:37:14

标签: android string bluetooth arduino

我正在尝试通过蓝牙将长字符串发送到Android。

但是,

enter image description here

看起来像是图片。

某些字符已更改。

如何获得完整的完整字符串?

arduino代码:

    for(int i=0;i<16;i++){
      String rec = String(P[i], HEX);
      if(rec.length()<2) rec = "0"+rec;
      BTSerial.println(rec);
      delay(50);

P是一个字节数组。感谢。

1 个答案:

答案 0 :(得分:1)

尝试不使用String对象:

// return '0' .. 'F'
char hexnibble(byte nibble) {
  nibble &= 0x0F; // just to be sure
  if (nibble > 9) return 'A' + nibble - 10;
  else return '0' + nibble; 
}

void loop() {
 byte P[16]; 
 //  ... fill P somehow ...
 char rec[33];
 for(int i=0;i<16;i++){
      rec[2*i] = hexnibble(P[i] >> 4);
      rec[2*i+1] = hexnibble(P[i] & 0x0F);
 }
 rec[32] = 0; // string terminator

Serial.println(rec); // just for debugging
delay(1000);
}