一種WindowsCE下事件驅(qū)動的串行通信方式_第1頁
一種WindowsCE下事件驅(qū)動的串行通信方式_第2頁
一種WindowsCE下事件驅(qū)動的串行通信方式_第3頁
一種WindowsCE下事件驅(qū)動的串行通信方式_第4頁
全文預(yù)覽已結(jié)束

下載本文檔

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

文檔簡介

1、 作者簡介 :何臻業(yè) (1975- , 男 , 碩士研究生 , 主要研究方向 :計算機控制及數(shù)據(jù)傳輸 ; 殳偉群 (1943- , 男 , 教授 , 博士生導師 , 主要研究方 向 :測控系統(tǒng)、 信號檢測及處理 .文章編號 :1001-9081(2001 08-0054-01一種 W indows CE 下事件驅(qū)動的串行通信方式何臻業(yè) , 殳偉群(同濟大學 中德學院 , 上海 200092摘 要 :介紹了一種使用 VC +在 Windows CE 下以事件驅(qū)動方式進行串行通信的方法 。 關(guān)鍵詞 :串行通信 ; 事件驅(qū)動 中圖分類號 :TP316. 89 文獻標識碼 :B Windows CE

2、是 目 前 應(yīng) 用 較 廣 的 嵌 入 式 操 作 系 統(tǒng) , 而Windows 程序的基本執(zhí)行方式即事件驅(qū)動 , 即由特定事件 (如 串口某信號變化 激發(fā)程序的執(zhí)行 。串行通信的基本流程 , 分為四個步驟 :1 打開串口Windows CE , CreateFile (, CE 已全面支持 都要用 T ( :hPort =CreateFile T ( :, GE NERIC RE AD|GE NERIC WRITE , 0, NU LL , OPE N EXISTING, 0, NU LL ;該函數(shù)返回一個文件句柄 , 是以后對串行口操作的依據(jù) 。2 配置串口對串口的配置主要有兩方面的工作

3、:一是用 SetC ommS tate(函數(shù)在 DC B 結(jié)構(gòu)中設(shè)置波特率 、 設(shè)置奇偶校驗 、 設(shè)置停止 位 、 規(guī)定 CTS (clear to send 、 RTS (request to send 、 DSR (data set ready 、 DTR (data terminal ready 等 信 號 ; 二 是 用 SetC ommT imeouts (函數(shù)在 C OM MTI ME OUTS 結(jié)構(gòu)中設(shè)置操作時 間限制 , 保證正確讀寫 。 示例如下 :/配置 DC B 數(shù)據(jù)結(jié)構(gòu) P ortDC B. BaudRate =9600; /波特率 P ortDC B. fBinary

4、 =TRUE;/二進制模式 , 對 W in 32API 必須為 TRUE P ortDC B. fParity =TRUE; /進行奇偶校驗 P ortDC B. fOutxCtsFlow =FA LSE; P ortDC B. fOutxDsrFlow =FA LSE;P ortDC B. fDtrC ontrol =DTR CONTRO L E NABLE; P ortDC B. fRtsC ontrol =RTS CONTRO L E NABLE; P ortDC B. ByteS ize =8; /規(guī)定字節(jié)長度 P ortDC B. Parity =OddPARITY; /奇校驗 P

5、 ortDC B. S topBits =ONEST OP BIT; /一位停止位SetC ommS tate (hP ort , &P ortDC B ;/配置 COM MTIME OUTS 數(shù)據(jù)結(jié)構(gòu)C ommT imeouts. ReadIntervalT imeout =M AX DW ORD ; C ommT imeouts. ReadT otalT imeoutMultiplier =0; C ommT imeouts. ReadT otalT imeoutC onstant =0; C ommT imeouts. WriteT otalT imeoutMultiplier

6、=10;C ommT imeouts. WriteT otalT imeoutC onstant =1000;SetC ommT imeouts (hP ort , &C ommT 數(shù) 據(jù) 到 達 串 行 口 呢 ? 這 需 要 用 到 的通信事件 , 它類似于 Windows 的消息 , 當指定的 事件發(fā)生時 , 如 CTS 或 DSR 信號線狀態(tài)改變 , 由 WindowsCE 發(fā) 送消息給應(yīng)用程序 , 觸發(fā) WaitC ommEvent (函數(shù)返回 , 執(zhí)行相 應(yīng)的 操 作 ???以 讓 讀 操 作 單 獨 作 為 一 個 線 程 運 行 , 由 于WindowsCE 完全支持多

7、線程 , 不會影響其他任務(wù) 。 示例如下 :SetC omm M ask (hP ort , E V RXCH AR|E V CTS |E V DSR|E V R LS D|E V RING ;/確定一組事件while (hP ort ! =INVA LIDE H AND LE VA LUE W aitC ommEvent (hP ort , &dwC omm M odemS tatus , 0 ; /等待事件if (dwC omm M odemS tatus &E V RXCH AR /得到一個字符并放入輸入緩沖區(qū) doReadFile (hP ort , &Byte , 1, &dw Bytes , 0 ;while (dw Bytes =1 ; 4 關(guān)閉串口如同關(guān)閉一個文件 , 示例如下 :if (hP ort ! =INVA LID H AND LE VA LUE if (!CloseHandle (hP ort 差錯處理 該方法簡單實用 , 概念清晰 , 充分利用 Windows 編程事件 驅(qū)動的特點 , 對程序員屏蔽了繁瑣的硬件知識 , 在實際應(yīng)用中 效果理想 。參考文獻1 Bennett ,David :VC +5開發(fā)者指南 . 北京 :機械工業(yè)出版社 ,1997.

溫馨提示

  • 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)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論