1

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

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

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

所以我现在的问题是,如果线路空闲,如何让呼叫在此超时时返回?

谢谢!

4

0 回答 0