新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > C/S模型技術在WinCE串口編程中的應用

        C/S模型技術在WinCE串口編程中的應用

        作者: 時間:2012-10-09 來源:網絡 收藏

        前 言

          與傳統的Windows技術相比較,中不具備串口復用的功能,這給在系統中實現對串口的復雜操作增加了技術難度。本文介紹一種使用在信息平臺軟件中常用的C/S模型技術,模擬串口復用的動作來實現操作系統串口復用的問題。

          本方法實現所使用的函數大部分都是嵌入式開發中最常使用的C/C++函數,所有的函數都具有一定的通用性,稍加改動即可應用到其他嵌入式操作系統中;并且該方法實現的思路對于解決其他嵌入式編程中資源復用的難題具有一定參考價值。

          1 軟件結構及工作原理

          1.1 軟件結構及特點

          為了使WincE操作系統的串口操作支持復用,在本方法中,采用了一種類式信息平臺開發經常使用的C/S結構,利用此結構來模擬實現類似于Windows串口的復用功能,即在數據與串口硬件實際控制之間增加了一個C/S結構的中間層。系統整個結構主要包括控制協議、客戶端程序和服務器端程序三部分。客戶端和服務器端的程序復雜程度與串口操作的復雜程度成正比,在直觀上也與控制協議的復雜程度成正比。軟件結構圖如圖1所示。

          1.2 控制協議

          控制協議的實現屬于基礎部分,復雜程度與串口的操作復雜程度有關,本文中提到的編程方法只是解決串口的復用部分,即同時對串口發生讀寫時在編程上的實現。因此在本方法中,實現串口復用的控制協議只需要兩部分——串口+數據。串口指的是發生讀寫動作的串口(co m1,com2,…,comn),數據指的是需要用串口通信的數據。

          1.3 服務器端程序流程及工作原理

          服務器端程序流程圖如圖2所示。

          從圖2中可以看出,整個服務器端程序是由兩個線程組成。一個線程用來處理由客戶端發起的發送數據請求,符合控制協議的數據先存入預先定義好的發送緩沖區,同時判斷對應串口的使用情況。當該串口被占用(串口正在處理上一個發送數據請求或者是正在接收數據)時,此次請求將被掛起一直到串口恢復到空閑狀態;串口恢復到空閑狀態后該線程將處理最先掛起的請求,將最先存入發送緩沖區的數據通過串口發走。

          同時,服務器端程序還要用一個線程來實時監視該串口,將由該串口接收到的符合控制協議的數據存入預先定義好的接收緩沖區,同時通知數據處理線程。


        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 寿宁县| 社会| 泾源县| 湾仔区| 宁津县| 仁寿县| 青川县| 江津市| 崇州市| 修武县| 田林县| 光泽县| 辽源市| 牙克石市| 阳城县| 盈江县| 中牟县| 古交市| 南江县| 鄂尔多斯市| 陕西省| 北流市| 昔阳县| 西林县| 沙田区| 盘山县| 台山市| 英超| 涿鹿县| 凤台县| 庆阳市| 合作市| 香港| 沂南县| 简阳市| 紫金县| 富源县| 临澧县| 梅河口市| 莎车县| 中山市|