2012-05-08 14 views
0

poll.selectを使用して、次のコードを使用してデバイスのファイル記述子を読み込もうとしています。デバイスのバイトを読み取ることができます。いつループを終了する適切な時間になりますか。私はループを終了する必要があるすべてのバイトを読み取っているtime.onceで1文字を読んでいます。私はそれを達成するか?poll/selectを使用して一度に1バイトずつ読み取る

while (continue_reading) 
{ n = read(radioFd, &rc, 1); 
     if(rc == START_OF_FRAME) 
     { 
      start_buffering = 1; 
      printf("SOF found \n"); 
     } 
     if(1 == start_buffering) 
     { 
      read_buffer[read_count] = rc; 
      read_count += n; 
     } 
} 

答えて

1

デバイスがファイルのように振る舞う場合は、読み込み戻り値(n)を0(ファイルの終わり)としてテストする必要があります。また、-1をテストしてエラーを特定し、errnoをチェックする必要があります。