【问题标题】:Timeout event in read system call for reading serial port读取串行端口的读取系统调用中的超时事件
【发布时间】:2014-08-08 14:18:32
【问题描述】:

我正在使用 read 系统调用从串行读取数据。这个调用似乎只读取一个字节,尽管它给出了要读取的字节数

bytes_read = read(fp, buffer, 20);

我不知道发送者将发送多少字节。如果我知道,那我会读很多遍。我怀疑,虽然读入串行第二个字节没有到达,所以它出来了。因此,我想实现超时。读取调用应该等待那么多时间,读取所有字节直到超时。我希望专家在这方面帮助我。

【问题讨论】:

标签: c linux operating-system


【解决方案1】:

您可以通过 termios(3) 库调用来控制超时和行缓冲区特性。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-14
    相关资源
    最近更新 更多