999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

WinCE下的串口通信

2010-01-01 00:00:00謝屈波,夏定純,楊丹
電腦知識與技術 2010年3期

摘要:該文主要介紹了在WinCE環境下實現XBee無線模塊與PDA之間的串口通信。以EVC來設計界面編制程序,文中給出了實現的關鍵技術。結果表明系統可靠穩定。

關鍵詞:WinCE;串口通信;XBee;多線程

中圖分類號:TP393文獻標識碼:A文章編號:1009-3044(2010)03-558-02

Serial Communitication Under WinCE

XIE QU-bo1, XIA Ding-chun2, YANG Dan2

(1. Wuhan University of Science and Engineering, Wuhan 430073, China; 2. Changsha VocationalTechnical College, Changsha 410000, China)

Abstract: The article describes how to achieve serial communication between the PC and XBee Modual under WinCE. Designing the interface and programming according to EVC, and give the key codes of this model. The result proves that reliability and stability of the system.

Key words: WinCE; serial communitication; XBee; multithread

1 概述

在遠程監控和工業自動化領域系統中,串口通信因其具有連接簡單,使用方便,可靠性高的優點,因而得到了越來越廣泛的應用。在工業現場或者是巡檢的過程中,一般會用到嵌入式的設備,WinCE是微軟推出的一個32位的,多線程實時操作系統,可以完美支持嵌入式設備。WinCE以其良好的性能得到了用戶的認可。同時,在監控和自動化領域中,無線發射和接受因其布置簡單,易于維護,被越來越多的用戶接受。

2 系統實現

2.1 系統組成

系統采用2個XBee模塊和1個PDA。一個XBee發送數據,一個接受數據,2片XBee之間通過無線進行傳輸,接受的XBee通過串口與PDA相連接,PDA與接收XBee模塊通信,讀取其中的數據并顯示,也可向其中寫入數據。

2.2 XBee無線模塊

XBee是Digi公司推出的一種由電池供電的長壽命的無線傳感器,易于連接到Drop——in NetWorking網絡應用或ZigBee網絡中。ZigBee技術使低成本、低功耗的設備網絡得以與自配置和自修復的無線Mesh網絡相連接。基于XBee傳感器,使用者可以在ZigBee網絡從多個結點方便地收集實時數據。

2.3 WinCE下串口通信簡介

在WinCE下運行的程序,一般是在Windows環境下開發的,然后下載到嵌入式設備中。系統中是在Windows環境下用EVC去開發應用軟件,然后下載到PDA中去。串口在WinCE中屬于流接口設備,可以像對文件一樣對串口進行打開,關閉,讀寫等操作。WinCE下的串口函數和Windows下的串口函數基本相同,但在以下一些方面有所不同:1.WinCE只支持Unicode;2.WinCE中有一些自己特有的控件,可以方便編程。3.EVC不支持重疊I/ O操作。

2.4 WinCE下串口通信基本方法

在WinCE下開發串口通信包含下面一些步驟:

1) 打開端口并進行初始化。在EVC中把設備當做文件來處理,故使用CreateFile來打開端口。如果打開成功,則會返回打開串口的句柄。成功打開一個端口之后,需要對端口進行初始化。調用串口通信函數SetupComm設置COM4的發送和接受緩沖區的大小。分配好緩沖區后調用GetCommTimeouts函數對讀寫串口進行超時設置。然后調用GetCommState函數獲取當前串口的默認參數并返回一個DCB結構體地址,通過給這個DCB結構體各成員賦值來重新設定串口狀態。最后調用PurgeComm函數清空串口的發送接收緩沖區。

2) 對串口進行讀寫操作。成功配置好串口參數后即可調用函數ReadFile和WriteFile對串口進行讀寫操作。在通信的過程中可能出現通信錯誤導致程序無法繼續進行,一般需要調用ClearCommError清除這些錯誤。

3) 關閉串口。使用完串口后必須關閉串口。串口不能像文件一樣被共享,不釋放別的應用程序就不能使用它。關閉串口只需使用CloseHandle即可。

2.5 串口與XBee通信模型

在串口通訊當中,要做到通信模型吞吐量大,實時性強,能處理并發事件,這就要求使用多線程技術。在主程序中創建2個線程,一個用于讀串口,一個用于寫。其通信的模型圖如圖1所示:在EVC中創建一個工程,在主程序中增加兩個線程,即創建一個讀進程,一個寫進程。用CreateThread創建好進程后,讀線程和寫線程都處于掛起狀態,主進程通過不停的查詢串口狀態,得到相應的事件,根據返回的事件喚醒相應的進程。當喚醒讀進程后,讀進程會調用回調函數接受串口中的數據,對數據進行必要的處理后,進行輸出顯示。也可以向系統中寫入數據,例如像其中一個XBee模塊中寫入API指令,就可以控制另一XBee模塊,這就可以實現遠程控制。各線程間以時間同步對象來實現同步,形成主進程與讀寫進程的協調一致。WinCE系統是可搶占式多線程處理操作系統,故在創建線程的時候,可以給線程規定一個優先級,根據任務時間緊迫性的高低給任務定義一個數值來表示優先級的高低,調度時選擇高者先執行,優先級相等時輪流執行,并且優先級低的線程運行時,優先級高的線程到達后會馬上執行優先級高的線程,這就保證了運行過程中的實時性和高效性。

3 結束語

該文介紹了在WinCE下用EVC編程實現XBee與PDA之間的串口通信,該方法簡單易行,系統穩定,完全實現了系統間的串口通信。該系統可以應用到監控系統及工業現場當中。系統中利用多線程技術處理數據的接受和發送,提高了系統的實時性和吞吐量,達到了預期的目標,并有很大的實用價值。

參考文獻:

[1] 劉偉,劉光斌,余志勇.Windows 95多線程通信應用程序設計[J].計算機系統應用,1999.

[2] Charles Petzold.Windows CE程序設計[M].北京:北京大型出版社,1999.

[3] 陳淑珍,石波.基于Windows多線程環境下的串口通信[J].武漢大學學報(自科版),2000.

[4] 李現勇.Visual C++串口通信與工程實踐[M].北京:人民郵電出版社,2005.

[5] 王莉,陽春華.基于Visual C++串口通信設計及其應用[J].控制工程,2004,11.

主站蜘蛛池模板: 免费无码AV片在线观看国产 | 女人18毛片久久| 99精品视频在线观看免费播放| 亚洲国产精品日韩av专区| 精品国产福利在线| 国产男女免费视频| 国产欧美在线观看视频| 囯产av无码片毛片一级| 在线人成精品免费视频| 天天干伊人| av色爱 天堂网| 欧美色亚洲| 蜜桃臀无码内射一区二区三区| 日本人妻一区二区三区不卡影院| 免费AV在线播放观看18禁强制 | 亚洲经典在线中文字幕| 老司国产精品视频91| 欧美日韩国产系列在线观看| 亚洲日韩精品综合在线一区二区| 国产精品hd在线播放| 亚洲精品人成网线在线 | 国产综合精品日本亚洲777| 久久永久免费人妻精品| 欧美综合区自拍亚洲综合天堂| 中文精品久久久久国产网址| 久草视频中文| 久久久久国色AV免费观看性色| 黄色三级毛片网站| 国产成人8x视频一区二区| 午夜丁香婷婷| 免费女人18毛片a级毛片视频| 亚洲美女一级毛片| jizz国产在线| 中文字幕无线码一区| 热久久综合这里只有精品电影| 国产成人免费手机在线观看视频| 四虎永久免费在线| 国产在线视频欧美亚综合| 国产剧情伊人| 尤物在线观看乱码| 国产精品嫩草影院av| 精品综合久久久久久97| 国产91在线|日本| 一本一本大道香蕉久在线播放| 亚洲欧美一区二区三区蜜芽| 人妻精品全国免费视频| 伊人久热这里只有精品视频99| 日韩精品一区二区三区大桥未久 | 亚洲综合精品第一页| 91精品人妻互换| yy6080理论大片一级久久| 日本黄色a视频| 国产乱论视频| 漂亮人妻被中出中文字幕久久| 亚洲精品无码抽插日韩| 欧美日本中文| 亚洲品质国产精品无码| 久久精品亚洲专区| 久久精品这里只有国产中文精品| 国产精品欧美激情| 国产丰满大乳无码免费播放| 亚洲国产一区在线观看| 就去吻亚洲精品国产欧美| 沈阳少妇高潮在线| 亚洲精品爱草草视频在线| 国产青榴视频| Jizz国产色系免费| 日本人又色又爽的视频| 露脸真实国语乱在线观看| 国产午夜人做人免费视频中文| 亚洲成av人无码综合在线观看| 日本道综合一本久久久88| 国产一区二区三区在线精品专区| 狠狠色综合网| 亚洲精品无码人妻无码| 2022国产无码在线| 免费观看国产小粉嫩喷水| 东京热av无码电影一区二区| 高清亚洲欧美在线看| 久久久久夜色精品波多野结衣| 亚洲综合中文字幕国产精品欧美 | av一区二区无码在线|