この情報はどこにも見つかりませんでした。redpark ケーブルの TTL バージョンで文字列を送信できる時間はどれくらいですか?
次のデリゲート メソッドは、Arduino から完全なシリアルを出力するときに 2 回呼び出されます。文字列の例は次のとおりです: 144;480,42;532,40;20e
- (void) readBytesAvailable:(UInt32)length{
利用可能なデータを取得する新しい関数メソッド [getStringFromBytesAvailable] を使用すると、144;480,42;532,40; しか取得できません。次に、関数全体が再度呼び出され、文字列に残りの文字列が含まれるようになりました: 20e
次の方法は、2 つの文字列を追加するために機能しますが、データ転送速度が「遅い」場合のみです (1 秒に 1 回、1 秒に 10 回以上をお勧めします)。
-
(void) readBytesAvailable:(UInt32)length{
if(string && [string rangeOfString:@"e"].location == NSNotFound){
string = [string stringByAppendingString:[rscMgr getStringFromBytesAvailable]];
NSLog(string);
finishedReading = YES;
}
else{
string = [rscMgr getStringFromBytesAvailable];
}
if (finishedReading == YES)
{
//do stuff
}
finishedReading = NO;
string = nil;
}
}
しかし、「長い」文字列を記述した場合にメソッドが 2 回呼び出される理由と、この問題を回避する方法を教えてください。