2012-06-24 1 views
0

Я открыл следующие входные и выходные потоки блютус с помощью внешних устройств Framework от Apple:проблемы с выходным потоком ... исходные данные и нечетный вывод. что я сделал не так?

session = [[EASession alloc] initWithAccessory:acc forProtocol:protocol]; 

if (session){ 
    [[session inputStream] setDelegate:self]; 
    [[session inputStream] scheduleInRunLoop:[NSRunLoop currentRunLoop] forMode:NSDefaultRunLoopMode]; 
    [[session inputStream] open]; 

    [[session outputStream] setDelegate:self]; 
    [[session outputStream] scheduleInRunLoop:[NSRunLoop currentRunLoop] forMode:NSDefaultRunLoopMode]; 
    [[session outputStream] open]; 
} 

Я пишу это так:

uint8_t aByte[] = {0x02, 0x06, 0x04}; 
[[session outputStream] write:aByte maxLength:4]; 
NSLog(@"%d", aByte[2]); 

Я чтение из него, как это :

 case NSStreamEventHasBytesAvailable: 
      NSLog(@"NSStreamEventHasBytesAvailable"); 
      uint8_t readBuf[128]; 
      memset(readBuf, 0, sizeof(readBuf)); 
      NSInteger numberRead = [[session inputStream] read:readBuf maxLength:3]; 

      if(numberRead < 0){ 
       NSError *error = [[session inputStream] streamError]; 
       NSLog(@"%@", [error localizedDescription]); 
      } 
      else if (numberRead > 0) { 
       NSLog(@"numberRead: %d", numberRead); 
       NSLog(@"readBuf: %s", readBuf); 
      } 
      else{ 
       break; 
      } 
      break; 

я должен получить назад от устройства «АА4», потому что он посылает меня два алфавитных символов следуют 3 байта, который был s к нему в последнем событии потока. На ЖК-экране устройства сообщается, что он получил 2 а 4 и 6. И сообщается, что он отправил A и A и 4. Но «NSLog (@« readBuf:% s », readBuf); " всегда печатает:

AA + a upside question mark//(can't seem to copy and paste that symbol from xcode) 

У кого-нибудь есть идеи о том, что я сделал неправильно?

Спасибо!

ответ

0

Nevermind ...

Я напечатал каждый байт по отдельности, а не в качестве строки. Напечатал первые два в качестве символа, а последний - как десятичный. C стиль вывода по-прежнему странно для меня ...

Смежные вопросы