我确实在linux上使用termios打开了一个本机串口
端口以阻止模式打开,设置为VMIN = 10
和VTIME = 5
。我认为这应该意味着如果超时命中,阻塞读取功能会在半秒后返回。
虽然我在这里找到了这个:
当VMIN字符已传输到调用者缓冲区或VTIME十分之一在字符之间到期时,会满足read()。由于此计时器在第一个字符到达之前未启动,因此如果串行线路空闲,此调用可无限期阻塞。这是最常见的操作模式,我们认为VTIME是一个字符间超时,而不是整体。 他的调用永远不会返回零字节读取。
所以现在我的问题是,如果线路处于空闲状态,如何在此超时时恢复呼叫?
谢谢!