termios VMIN VTIME и блокирующие / неблокирующие операции чтения

Я пытаюсь написать простую программу последовательной связи на C для Linux. Я запутался по поводу блокирующих / неблокирующих чтений и отношений 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 и блокирующими / неблокирующими портами, я был бы очень благодарен.

Спасибо

Ответы на вопрос(3)

Ваш ответ на вопрос