我有一個RFID掃描儀連接到連接到iPad應用程序的RedPark串行電纜。當人們掃描他們的RFID卡時,我得到一個帶有-readBytesAvailable:的回調。但是,有時它並不能在一次通話中給我整個RFID。有時它會在兩個電話中發送。RedPark串行電纜部分數據
如何確定我是否收到了所有東西?當我的代碼獲取第一個回調數據並嘗試使用它時,出現錯誤,因爲我們假設RFID是「123456789」,有時我會用@「12」接收一個呼叫,然後用@「3456789」接收第二個呼叫。所以我嘗試處理@「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];
}
用於發送它的確切協議是什麼? RFID是否以特定字符結尾(例如NULL)?除了RFID號碼之外,是否有任何信息? – borrrden 2012-07-29 02:22:26