【发布时间】:2013-11-22 20:45:54
【问题描述】:
我正在尝试为 Linux 编写一个简单的 C 串行通信程序。我对阻塞/非阻塞读取和 VMIN/VTIME 关系感到困惑。
我的问题是,是否应该根据我是否有阻塞/非阻塞打开调用来设置 VMIN/VTIME?
例如,如果我有以下公开通话:
open( "/dev/ttyS0", O_RDWR|O_NONBLOCK|O_NOCTTY)
我应该将 VMIN/VTIME 设置为:
.c_cc[VTIME] = 0;
.c_cc[VMIN] = 0;
如果我有这样的阻塞模式:
open( "/dev/ttyS0", O_RDWR|O_NOCTTY)
我应该将 VMIN/VTIME 设置为:
.c_cc[VTIME] = 0;
.c_cc[VMIN] = 1;
?
即使端口打开标志设置得当,设置 VMIN/VTIME 有什么区别吗?
如果有人能帮助我理解 VMIN/VTIME 和阻塞/非阻塞端口之间的关系,我将不胜感激。
谢谢
【问题讨论】:
标签: linux serial-port