首页 文章
  • 1 votes
     answers
     views

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

    我确实在linux上使用termios打开了一个本机串口 .端口以阻塞模式打开,设置为 VMIN = 10 和 VTIME = 5 . 我认为这应该意味着如果超时命中,阻塞读取功能会在半秒后返回 . 虽然我在这里找到了这个: 当VMIN字符已传输到调用者的缓冲区时,或者当VTIME十分之一在字符之间到期时,会满足read() . 由于此计时器在第一个字符到达之前未启动,因此如果串行线路空闲,则...
  • 1 votes
     answers
     views

    VTIME和VMIN串行端口选项是否适用于select?

    我有Linux程序,使用 select() 和 read() 读取串行端口 . 它工作正常,但存在性能问题: 程序每个 read() 调用仅接收1-4个字节的数据 . 这会导致不必要的开销 . 为了避免这个问题,我将VTIME设置为20(2秒),将VMIN设置为9 . tcgetattr( fd, &termiosv ); termiosv.c_cc[VMIN] = 9; termio...

热门问题