1

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);
}

このメソッド内にブレークポイントを設定すると、data1 バイトしか保持されないことが示されます。

4

1 に答える 1