新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于S3C2440的WindML圖形驅動設計

        基于S3C2440的WindML圖形驅動設計

        作者: 時間:2010-10-19 來源:網絡 收藏

        WindML通過事件機制完成對鍵盤輸入的響應。它采用客戶/服務器模式,其事件驅動的原理如圖4所示。
        WindML輸入驅動是一個分層結構,包括一個底層的驅動,負責處理設備控制器和一個高層的驅動,還負責翻譯從設備中接收到的原始數據。
        底層輸入驅動是作為I/O驅動來開發的,一般構建進入系統內核,底層驅動在初始化時就會被連接到操作系統的I/O系統中。底層驅動負責完成以下功能:
        初始化設備控制器和輸入設備;
        處理由設備控制器產生的中斷;
        從輸入設備中接收原始數據,把它們按序地排列在I/O系統的高端驅動隊列中;
        接收高層驅動的指令并做出相應的反應,如控制鍵盤上LED的亮滅。
        此外,底層輸入驅動必須支持輸入服務任務用于檢測輸入數據的Select()機制。
        高層輸入驅動主要負責接收來自低層輸入驅動的原始數據,處理這些數據,封裝數據成為一個輸入事件消息以及把這些消息放到消息隊列中。在實現時需要完成以下例程:
        (1)驅動打開例程。分配并初始化驅動控制結構,打開底層輸入驅動,設置底層驅動到合適模式,以及當成功打開驅動后返回一個指向驅動結構的指針。
        函數原型如下:

        驅動打開例程有兩個參數,第一個參數是用于接收原始輸入數據,被驅動打開的底層輸入驅動的名字;第二個參數是一個指向輸入驅動結構(UGL_INPUT_DEV)的指針。
        (2)驅動控制例程。
        函數原型如下:

        該函數有3個參數:第一個參數是由驅動打開例程創建和初始化的驅動控制結構;第二個參數是請求的類型;第三個參數依賴于第二個參數的請求類型。
        (3)開發驅動關閉例程。該函數負責完成關閉底層輸入驅動,釋放由打開例程分配的系統資源以及設置底層設備回到它操作之前的原始狀態。
        最后需實現I2C總線接口驅動,將底端輸入驅動及高端輸入驅動連接起來,完成鍵盤驅動程序的編寫。
        圖5所示是WindML繪圖的一個例子。圖中創建了2個窗口,左邊的窗口通過鍵盤可以控制小球的運動,右邊窗口可以在其中輸入文字。

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



        4 結語
        本文對嵌入式實時操作系統VxWorks的媒體庫windML及其圖形界面開發的方法做了詳細的介紹,上面提到的圖形界面開發的方法已經被作者成功地應用于實際工程開發,并取得了良好的效果。


        上一頁 1 2 3 下一頁

        關鍵詞: 音頻

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 孟津县| 定日县| 达孜县| 永清县| 基隆市| 厦门市| 博爱县| 长泰县| 广昌县| 珲春市| 塘沽区| 宣汉县| 诸城市| 久治县| 沐川县| 新建县| 阿拉善左旗| 深州市| 拉孜县| 汪清县| 安岳县| 马公市| 淮安市| 绥阳县| 沁水县| 永城市| 稻城县| 荣昌县| 敦化市| 宁都县| 麻江县| 巩留县| 丰台区| 合水县| 莫力| 洛扎县| 宝兴县| 瑞金市| 准格尔旗| 海淀区| 眉山市|