我无法在任何地方找到这些信息。使用 TTL 版本的 redpark 电缆可以发送多长时间的字符串?
当我从 Arduino 打印完整的串行内容时,会调用以下委托方法两次,字符串示例如下:144;480,42;532,40;20e
- (void) readBytesAvailable:(UInt32)length{
当我使用检索可用数据的新函数方法 [getStringFromBytesAvailable] 时,我只会得到 144;480,42;532,40; 然后再次调用整个函数,字符串现在包含字符串的其余部分:20e
以下方法适用于附加两个字符串,但前提是数据传输速率“慢”(每秒 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;
}
}
但是你能告诉我,如果我写一个“长”字符串,为什么这些方法会被调用两次,以及如何避免这个问题?