我正在尝试读取一个设备的文件描述符。使用poll / select使用以下代码。我能够读取设备的字节。我想知道何时是退出循环的正确时间。我正在读一个字符。它已经读取了我需要从循环中退出的所有字节。我是否实现了这一点。
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;
}
}
答案 0 :(得分:1)
如果您的设备的行为类似于文件,则必须测试读取返回值(n)为0(文件末尾)。而且你还需要测试它为-1,以识别错误并检查错误。