新聞中心

        EEPW首頁 > 模擬技術 > 設計應用 > C/S模型在WinCE串口編程中的應用

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

        作者: 時間:2012-08-21 來源:網絡 收藏

        引言
        與傳統的Windows技術相比較,中不具備串口復用的功能,這給在系統中實現對串口的復雜操作增加了技術難度。本文介紹一種使用在信息平臺軟件中常用的C/S技術,模擬串口復用的動作來實現操作系統串口復用的問題。
        本方法實現所使用的函數大部分都是嵌入式開發中最常使用的C/C++函數,所有的函數都具有一定的通用性,稍加改動即可應用到其他嵌入式操作系統中;并且該方法實現的思路對于解決其他嵌入式編程中資源復用的難題具有一定參考價值。

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

        本文引用地址:http://www.104case.com/article/185889.htm

        a.JPG


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

        b.JPG


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


        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 腾冲县| 武夷山市| 武鸣县| 微博| 遂宁市| 东乡县| 高雄市| 棋牌| 历史| 望奎县| 中江县| 马龙县| 亚东县| 西宁市| 连山| 尼木县| 恭城| 江达县| 金溪县| 沽源县| 襄汾县| 司法| 香河县| 连平县| 乌兰察布市| 宣汉县| 新宁县| 灯塔市| 永仁县| 广平县| 蒙阴县| 元谋县| 同江市| 油尖旺区| 焦作市| 吉林市| 新田县| 嘉黎县| 凤城市| 巴彦淖尔市| 依兰县|