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 バイトしか保持されないことが示されます。