如何使termios read()在VTIME值之后返回?

时间:2015-05-29 07:49:31

标签: linux serial-port termios

我确实在linux上使用termios打开了一个本机串口 端口以阻止模式打开,设置为VMIN = 10VTIME = 5。我认为这应该意味着如果超时命中,阻塞读取功能会在半秒后返回。

虽然我在这里找到了这个:

  

当VMIN字符已传输到调用者缓冲区或VTIME十分之一在字符之间到期时,会满足read()。由于此计时器在第一个字符到达之前未启动,因此如果串行线路空闲,此调用可无限期阻塞。这是最常见的操作模式,我们认为VTIME是一个字符间超时,而不是整体。 他的调用永远不会返回零字节读取。

所以现在我的问题是,如果线路处于空闲状态,如何在此超时时恢复呼叫?

谢谢!

0 个答案:

没有答案