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