VTIME定義要求等待的時間量(取值不能大於cc_t)。
VMIN定義了要求等待的最小字節數。
options.c_cc[VTIME] = X; //設置從獲取到1個字節後開始計時的超時時間
options.c_cc[VMIN] = Y; //設置要求等待的最小字節數
在原始模式下對read()函數的影響:
1、X=0,Y!=0。函數read()只有在讀取了Y個字節的數據或者收到一個信號的時候才返回;
2、X!=0,Y=0。即使沒有數據可以讀取,read()函數等待X時間量後返回;
3、X!=0,Y!=0。第一個字節數據到時開始,最先滿足收到Y個字節或達超時時間X任意一個條件,read()返回;
4、X=0,Y=0。即使讀取不到任何數據,函數read也會立即返回。
示例:
通過串口連ID卡讀卡器,要求讀串口至少收6個字節數據立即返回,可以將串口的上述兩個設置項設置如下:
options.c_cc[VTIME]=0;
options.c_cc[VMIN]=6;