redparkケーブルを介してArduinoシリアル出力を読み取るIOSアプリを開発しています。Arduino 側では、Serial.println() を使用して文字列を送信します。文字列は「12.34x334.45x0.34x123x33」の形式です。基本的には、特殊な分割文字として「x」を間に挟んだ double の組み合わせです。私の最初の考えは、アプリ側ではArduinoの出力を1行ずつ取得するので、単に使用することでした
NSString *testString= @"12.34x334.45x0.34x123x33";
NSArray *array = [testString componentsSeparatedByString:@"x"];
NSArray を取得するには、12.34 334.45 0.34 123 および 33 が含まれます。
ここに投稿された質問と回答を読んだ後、redpark sdk が Arduino の出力を 1 行ずつ処理する方法はなく、常に X バイト単位であることがわかりました。
Arduino の出力文字列を正しく解析するには、どうすればよいですか? 元の文字列を固定長で送信するために、double データに先頭と末尾の 0 を追加することは良い考えでしょうか? (つまり、「03.45x45.50x02.30」で 17 バイトにし、redpark sdk を使用して 17 バイトのデータを読み取ろうとしますか?)