版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、Linux串口vmin和_vtime詳解例子::intfda=“devtty“structtermiosttysavettyfd=open(aO_RDONLY|O_NONBLOCK)tcgetattr(fdsavetty=ttytty.c_lflagtty.c_cc[VMIN]=0VMINtcsetattr(fdTCSAFLUSHtcsetattr(fdTCSAFLUSHclose(fd)‘read()’函數(shù)行為的控制;它們是‘VMIN
2、’和‘VTIME’。)這些索引名字經(jīng)常被提及的方式會讓人以為它們是實在的變量,比如“設(shè)置VMIN為1”其實意味著“設(shè)置c_cc[VMIN]為1”。這種簡寫是有用的并且只是偶爾引起誤會。‘c_cc’的很多變量位置只有當(dāng)其它標(biāo)志被設(shè)定時才會用到。只有‘ICANON’被設(shè)置,才用到以下變量:‘VEOF’,‘VEOL’,‘VERASE’,‘VKILL’(如果定義了而且‘IEXTEN’被設(shè)定,那么‘VEOL2’,‘VSTATUS’和‘VWERAS
3、E’也用到)只有‘ISIG’被設(shè)置,才用到以下變量:下,除非設(shè)置了O_NONBLOCK選項,否則只有當(dāng)遇到文件結(jié)束符或各行的字符都已經(jīng)編輯完畢后才返回??刂品鸙TIME和VMIN之間有著復(fù)雜的關(guān)系。VTIME定義要求等待的零到幾百毫秒的時間量(通常是一個8位的unsigned變量,取值不能大于cc_t)。VMIN定義了要求等待的最小字節(jié)數(shù)(不是要求讀的字節(jié)數(shù)——read()的第三個參數(shù)才是指定要求讀的最大字節(jié)數(shù)),這個字節(jié)數(shù)可能是0。l
4、如果VTIME取0,VMIN定義了要求等待讀取的最小字節(jié)數(shù)。函數(shù)read()只有在讀取了VMIN個字節(jié)的數(shù)據(jù)或者收到一個信號的時候才返回。l如果VMIN取0,VTIME定義了即使沒有數(shù)據(jù)可以讀取,read()函數(shù)返回前也要等待幾百毫秒的時間量。這時,read()函數(shù)不需要像其通常情況那樣要遇到一個文件結(jié)束標(biāo)志才返回0。l如果VTIME和VMIN都不取0,VTIME定義的是當(dāng)接收到第一個字節(jié)的數(shù)據(jù)后開始計算等待的時間量。如果當(dāng)調(diào)用read
5、函數(shù)時可以得到數(shù)據(jù),計時器馬上開始計時。如果當(dāng)調(diào)用read函數(shù)時還沒有任何數(shù)據(jù)可讀,則等接收到第一個字節(jié)的數(shù)據(jù)后,計時器開始計時。函數(shù)read可能會在讀取到VMIN個字節(jié)的數(shù)據(jù)后返回,也可能在計時完畢后返回,這主要取決于哪個條件首先實現(xiàn)。不過函數(shù)至少會讀取到一個字節(jié)的數(shù)據(jù),因為計時器是在讀取到第一個數(shù)據(jù)時開始計時的。l如果VTIME和VMIN都取0,即使讀取不到任何數(shù)據(jù),函數(shù)read也會立即返回。同時,返回值0表示read函數(shù)不需要等待
6、文件結(jié)束標(biāo)志就返回了。怎樣知道我的系統(tǒng)有多少存儲器容量=====================================這是另一個‘經(jīng)常未回答的問題’。在多數(shù)情況下,你不該試圖去找到答案.如果你必需得到答案,問題的答案通常是有的,但非常依賴于不同的操作系統(tǒng)。例如,在Solaris中,可以用sysconf(_SC_PHYS_PAGES)和sysconf(_SC_PAGESIZE)在FreeBSD中,可以用sysctl()在Linu
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- linux下串口程序開發(fā)
- 串口調(diào)試助手詳解
- linux init詳解
- linux系統(tǒng)命令詳解
- rs232串口通信詳解
- linux定時器詳解
- linux主要shell命令詳解
- linux_rcu機制詳解
- linux命令大全及詳解
- linux系統(tǒng)安全詳解
- linux下c編程詳解
- 基于Linux的串口參數(shù)自適應(yīng)算法研究與實現(xiàn).pdf
- linux下磁盤分區(qū)詳解
- linux系統(tǒng)命令及其使用詳解
- c#上位機串口通信助手源代碼詳解
- linux系統(tǒng)調(diào)用fork用法詳解-
- 基于嵌入式Linux串口專用交換機的設(shè)計.pdf
- linux 系統(tǒng)命令及其使用詳解(大全)
- linux ubuntu密碼找回破解圖文詳解
- linux_shell(腳本)編程入門_實例講解詳解
評論
0/150
提交評論