我正在使用读取系统调用从串行读取数据。看来这个调用只读取一个字节,尽管它给出了要读取的字节数
bytes_read = read(fp, buffer, 20);
我不知道发送者将发送多少字节。如果我知道的话,我会读很多遍。我怀疑,虽然读入串行第二个字节没有到达,所以它出来了。因此我想实现超时。 read 调用应该等待那么多时间,读取所有字节直到超时。我希望专家能在这方面帮助我。
最佳答案
您可以通过 termios(3) 库调用来控制超时和行缓冲区特性。
关于c - 用于读取串口的 read 系统调用中的超时事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25205632/