我正在开发一个通过 redpark 电缆读取 Arduino 串行输出的 IOS 应用程序。在 Arduino 端,它使用 Serial.println() 发送字符串。该字符串的格式为“12.34x334.45x0.34x123x33”。本质上,它是双打的组合,中间有“x”作为特殊的分割字符。我最初的想法是,在应用程序端,它会逐行获取 Arduino 输出,所以我只需使用
NSString *testString= @"12.34x334.45x0.34x123x33";
NSArray *array = [testString componentsSeparatedByString:@"x"];
得到一个 NSArray 包含 12.34 334.45 0.34 123 和 33。
不知何故,在阅读了此处发布的问题和答案后,我发现 redpark sdk 无法逐行处理 Arduino 输出,它始终以 X 字节为基础。
为了正确解析 Arduino 输出字符串,我应该怎么做?将前导和尾随 0 添加到我的双数据以使原始字符串以固定长度发送是个好主意吗?(即“03.45x45.50x02.30”使其成为 17 个字节并尝试使用 redpark sdk 读取 17 个字节的数据?)