iPad アプリに接続された RedPark シリアル ケーブルに RFID スキャナーが接続されています。人々が RFID カードをスキャンすると、-readBytesAvailable: でコールバックを受け取ります。ただし、1回の呼び出しでRFID全体が得られない場合があります。2 回に分けて送信することもあります。
すべてを受け取ったかどうかを確認するにはどうすればよいですか? 私のコードが最初のコールバックのデータを取得してそれを使用しようとすると、エラーが発生します。RFID が「123456789」であるとすると、@「12」で 1 回の呼び出しを取得し、@「3456789」で 2 回目の呼び出しを取得することがあるためです。そのため、@"12" を処理しようとすると、ユーザーが見つからないというエラーが発生し、次に @"3456789" を処理しようとすると、ユーザーが見つからないというエラーが発生します。
データの読み取りが完了したかどうかを確認するにはどうすればよいですか? RFID の長さはベンダーによって異なるため、特定の桁数を読み取る必要があるとは限りません。
これは、RedPark を介してスキャナーからデータを受信するために使用する方法です。
- (void) readBytesAvailable:(UInt32)length {
NSLog(@"readBytesAvailable: %lu", length);
UInt8 rxLoopBuff[LOOPBACK_TEST_LEN];
[self.rfidManager read:rxLoopBuff Length:length];
NSString *rfid = [[NSString alloc] initWithBytes:rxLoopBuff length:length encoding:NSUTF8StringEncoding];
NSLog(@"rfid=%@", rfid);
[self receivedScanOfRFID:rfid];
}