串口編程DCB結(jié)構(gòu)體參數(shù)配置詳細說明(共5頁)_第1頁
串口編程DCB結(jié)構(gòu)體參數(shù)配置詳細說明(共5頁)_第2頁
串口編程DCB結(jié)構(gòu)體參數(shù)配置詳細說明(共5頁)_第3頁
串口編程DCB結(jié)構(gòu)體參數(shù)配置詳細說明(共5頁)_第4頁
串口編程DCB結(jié)構(gòu)體參數(shù)配置詳細說明(共5頁)_第5頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

1、精選優(yōu)質(zhì)文檔-傾情為你奉上DWORD DCBlength;sizeof(DCB)DWORD BaudRate;current baud rate指定當(dāng)前的波特率DWORD fBinary: 1;binary mode, no EOF check指定是否允許二進制模式WIN95中須為TRUEDWORD fParity: 1;enable parity checking指定奇偶校驗是否允許DWORD fOutxCtsFlow:1;CTS output flow control 指定CTS是否用于檢測發(fā)送控制。當(dāng)為TRUE時CTS為 / OFF,發(fā)送將被掛起。(發(fā)送清楚)DWORD fOutxDsr

2、Flow:1;DSR output flow control指定CTS是否用于檢測發(fā)送控制。(數(shù)據(jù)裝備好)當(dāng)為TRUE是CTS為OFF,發(fā)送將被掛起。DWORD fDtrControl:2;DTR flow control type/DTR_CONTROL_DISABLE值將DTR置為OFF,/DTR_CONTROL_ENABLE值將DTR置為ON,  /DTR_CONTROL_HANDSHAKE 允許DTR"握手DWORD fDsrSensitivity:1;DSR sensitivity 當(dāng)該值為TRUE時DSR為OFF時接收的字節(jié)被忽略DWORD fTXCo

3、ntinueOnXoff:1;XOFF continues Tx指定當(dāng)接收緩沖區(qū)已滿,并且驅(qū)動程序已經(jīng)發(fā)送出XoffChar字符時發(fā)送是否停止。TRUE時,在接收緩沖區(qū)接收到緩沖區(qū)已滿的字節(jié)XoffLim且驅(qū)動程序已經(jīng)發(fā)送出XoffChar字 符中止接收字節(jié)之后,發(fā)送繼續(xù)進行。FALSE時,在接收緩沖區(qū)接收到代表緩沖區(qū)已空的字節(jié)XonChar且驅(qū)動程序已經(jīng)發(fā)送出恢復(fù)發(fā)送的XonChar之后,發(fā)送繼續(xù)進行。DWORD fOutX: 1;XON/XOFF out flow control    /TRUE時,接收到XoffChar之后便停止發(fā)送/FALSE時

4、,接收到XonChar之后將重新開始DWORD fInX: 1;/ XON/XOFF in flow controlTRUE時,接收緩沖區(qū)接收到代表緩沖區(qū)滿的XoffLim之后,XoffChar發(fā)送出去接收緩沖區(qū)接收到代表緩沖區(qū)空的XonLim之后,XonChar發(fā)送出去DWORD fErrorChar: 1;/ enable error replacement該值為TRUE且fParity為TRUE時,用ErrorChar 成員指定的字符代替奇偶校驗錯誤的接收字符DWORD fNull: 1;/ enable null strippingTRUE時,接收時去掉空(0值)字節(jié)DWORD fRt

5、sControl:2;RTS flow controlDWORD fAbortOnError:1;abort reads/writes on errorTRUE時,有錯誤發(fā)生時中止讀和寫操作RTS_CONTROL_DISABLE時,RTS置為OFFRTS_CONTROL_ENABLE時, RTS置為ONRTS_CONTROL_HANDSHAKE時,當(dāng)接收緩沖區(qū)小于半滿時RTS為ON當(dāng)接收緩沖區(qū)超過四分之三滿時RTS為OFFRTS_CONTROL_TOGGLE時,當(dāng)接收緩沖區(qū)仍有剩余字節(jié)時RTS為ON ,否則缺省為OFFDWORD fDummy2:17;reserved未使用WORD wRese

6、rved;not currently used未使用,必須為0WORD XonLim;/ transmit XON threshold指定在XON字符發(fā)送這前接收緩沖區(qū)中可允許的最小字節(jié)數(shù)WORD XoffLim;/ transmit XOFF threshold指定在XOFF字符發(fā)送這前接收緩沖區(qū)中可允許的最小字節(jié)數(shù)BYTE ByteSize;number of bits/byte, 4-8指定端口當(dāng)前使用的數(shù)據(jù)位BYTE Parity;/ 0-4=no,odd,even,mark,space指定端口當(dāng)前使用的奇偶校驗方法,可能為:EVENPARITY,MARKPARITY,NOPARITY

7、,ODDPARITYBYTE StopBits;0,1,2 = 1, 1.5, 2 指定端口當(dāng)前使用的停止位數(shù),可能為:ONESTOPBIT,ONE5STOPBITS,TWOSTOPBITSchar XonChar;/ Tx and Rx XON character指定用于發(fā)送和接收字符XON的值char XoffChar;Tx and Rx XOFF character指定用于發(fā)送和接收字符XOFF值char ErrorChar;/ error replacement character本字符用來代替接收到的奇偶校驗發(fā)生錯誤時的值char EofChar;/ end of input cha

8、racter當(dāng)沒有使用二進制模式時,本字符可用來指示數(shù)據(jù)的結(jié)束char EvtChar;/ received event character當(dāng)接收到此字符時,會產(chǎn)生一個事件WORD wReserved1;/ reserved; do not use 未使用在這個結(jié)構(gòu)中, 共有28個變量, 我把這些成員歸類為幾種. 1.  串口的基本設(shè)置     1) DWORD BaudRate;            &

9、#160;         波特率設(shè)置。      2) BYTE ByteSize;                             數(shù)據(jù)位設(shè)置。 &

10、#160;   3) DWORD fParity: 1;                       TRUE時, 支持奇偶檢驗。     4) BYTE Parity;       

11、60;                         奇偶檢驗位的設(shè)置     5) BYTE StopBits;              

12、60;              停止位的設(shè)置2. 流控制(Flow Control) 的設(shè)置     流控制分為硬件流控制和軟件流控制。 而硬件流控制又分為RTS/CTS和DTR/DSR兩種。而軟件流控制, 則是Xon/Xoff。      DTR/DSR 硬件流控制:     1) DWORD 

13、fOutxDsrFlow:1;            TRUE時,支持DSR流控制。 當(dāng)DSR為OFF時,停止發(fā)送。      2) DWORD fDtrControl:2;                DTR設(shè)置。 (置高/置低.)   

14、;     3) DWORD fDsrSensitivity:1;           TRUE時,當(dāng)DSR為OFF,則接收端忽略所有字符。       RTS/CTS 硬件流控制:     4) DWORD fOutxCtsFlow:1;      

15、0;     TRUE時,支持CTS流控制。 當(dāng)CTS為OFF時,停止發(fā)送。     5) DWORD fRtsControl:2;               RTS設(shè)置。 (置高/置低.)        Xon/Xoff 軟件流控制:   

16、60; 6) DWORD fOutX: 1;                       發(fā)送端支持Xon/Xoff。      7) DWORD fInX: 1;         

17、;                接收端支持Xon/Xoff。      8) WORD XonLim;                        

18、0; 當(dāng)接收Buffer中的字符減少小XonLim規(guī)定的字符數(shù), 就發(fā)送Xon字符,讓對方繼續(xù)發(fā)送。     9) WORD XoffLim;                          接收Buffer達到XoffLim規(guī)定的字符數(shù), 就發(fā)送Xoff字符, 讓對方停止發(fā)送。

19、0;    10)char XonChar;                          Xon 字符。      11)char XoffChar;       

20、                   Xoff 字符。     12)DWORD fTXContinueOnXoff:1; TRUE時,不管接收端是否Xoff, 本方發(fā)送端持續(xù)發(fā)送。 (也就是本方的發(fā)送端, 與本方接收端Xon/Xoff是相互獨立的)。若為False 時,則當(dāng)接收端buffer 達到XoffLim時,發(fā)送端發(fā)送完

21、Xoff字符后,就停止發(fā)送。                    3.  Error 情況處理     1) DWORD fErrorChar: 1;              TRUE時

22、,若fParity為TRUE, 則用ErrorChar替換Parity Check錯誤的字符。      2) DWORD fAbortOnError:1;          TRUE時,發(fā)生錯誤時停止讀寫操作。     3) char ErrorChar;           

23、              Parity Check 錯誤時,替換的字符。          4. 其他參數(shù)     1) DWORD DCBlength;             

24、0;    DCB結(jié)構(gòu)的長度(以字節(jié)為單位)     2) DWORD fBinary: 1;                   二進制模式。(必須為1 )     3) DWORD fNull: 1;    

25、0;                  TRUE時,接收時去掉空字節(jié)(0x0)     4) char EofChar;                     

26、;      EOF替代字符     5) char EvtChar;                           事件觸發(fā)字符     6) DWOR

27、D fDummy2:17;              保留     7) WORD wReserved;                  保留     8) WORD 

28、wReserved1;                 保留在WIN32  API編程中,除了DCB結(jié)構(gòu)之外,還需要了解COMMTIMEOUTS結(jié)構(gòu).這個結(jié)構(gòu)是為了讀寫串口的超時而設(shè)置的. COMMTIMEOUTS結(jié)構(gòu)如下:         typedef   struct   _COMMTIMEOUTS &

29、#160;        DWORD   ReadIntervalTimeout;                 /任意相鄰連個字符之間的超時設(shè)置  DWORD   ReadTotalTimeoutMultiplier;        /讀操作總的超時時間的系數(shù) &#

30、160; DWORD   ReadTotalTimeoutConstant;       /讀操作總的超時時間的修正常量   DWORD   WriteTotalTimeoutMultiplier;       /寫操作總的超時時間的系數(shù)  DWORD   WriteTotalTimeoutConstant;       /寫操作總的超時

31、時間的修正常量     COMMTIMEOUTS,*LPCOMMTIMEOUTS;                 ReadIntervalTimeout:兩相鄰字符之間最大的延時。當(dāng)讀串口數(shù)據(jù)時,一旦兩個字符傳輸?shù)臅r間間隔超過該時間,讀函數(shù)將返回現(xiàn)有的數(shù)據(jù)。設(shè)置為0表示該參數(shù)不起作用。           ReadTotalT

32、imeoutMultiplier:讀操作總的超時事件的系數(shù)。 這個變量是不能單獨使用的。 必須和ReadTotalTimeoutConstant 一起使用才有效果。          ReadTotalTimeoutConstant:讀操作總的超時時間的修正常量。 這個變量也是不能單獨使用的。必須和ReadTotalTimeoutMultiplier一起使用才有效果。       WriteTotalTimeoutMultiplier:寫操作總的

33、超時事件的系數(shù)。 這個變量是不能單獨使用的。 必須和WriteTotalTimeoutConstant 一起使用才有效果。         WriteTotalTimeoutConstant:寫操作總的超時時間的修正常量。 這個變量也是不能單獨使用的。必須和WriteTotalTimeoutMultiplier一起使用才有效果。       在整個串口的讀寫操作中, 存在著兩種超時設(shè)置。一種是間隔超時, 一種是總超時。 這兩種超時是獨立存在,互不影響的

溫馨提示

  • 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論