|
|
发表于 2014-11-24 17:17:43
|
显示全部楼层
本帖最后由 Super169 于 2014-11-24 17:42 编辑
除非是給人看的東西, 盡量不要用 Serial.print, 用 Serial.write 會比較好.
String 中 0x00 是終結用的, 所以你不能在 String 中包含 0x00.
因為 a 及 d 均沒有終結的 0x00, 系統會一直列印, 直到碰到 0x00 才停下來.
看到你這樣認真的設計通訊協定, 多給你一點提示吧.
輸出的部份用 String 及 Serial.print 會有問題, 不太好
- String e = String(a)+String(b)+String(c)+String(d);
- Serial.print(e);
复制代码
把它們改成這樣就可以了:
-
- Serial.write((uint8_t*) a,4);
- Serial.write((uint8_t*) b,2);
- Serial.write((uint8_t*) c,11);
- Serial.write((uint8_t*) d,2);
复制代码
將來看 code 也方便, 知道每一部份的長度, 總比 String 好得多.
|
|