在我的 Arduino 中,我正在使用 Serial.print("blah") 将多字节数据写入串行,但在 Objective-C 中,-serialPort:didReceiveData:
(由 ORSSerialPort 提供)一次只能获取 1 个字节的数据。有时,它会一次抓取 2 个字节,但绝不会全部抓取 4 个字节。这是预期的吗?如果是这样,我怎样才能让它一次接收所有 4 个字节?
阿杜诺:
void loop() {
Serial.print("blah");
delay(1000);
}
对象-C:
- (void)serialPort:(ORSSerialPort *)serialPort didReceiveData:(NSData *)data {
NSString *string = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
NSLog(@"%@",string);
}
在这个方法中设置一个断点表明data
它只保存 1 个字节。