• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

    EEPW首頁 > 嵌入式系統 > 設計應用 > 基于EP7312的新型嵌入式系統的實現

    基于EP7312的新型嵌入式系統的實現

    作者: 時間:2015-05-25 來源:網絡 收藏

      3 ViewML窗口界面的改進

    本文引用地址:http://www.czjhyjcfj.com/article/274679.htm

      Viewml的應用層很小,只提供了基本的圖形用戶界面布局。作為與用戶交互的窗口,要求有美觀性,實用性和可操作性。為了使用戶界面更為完善,本系統主要的工作增加對HTML文件的打開﹑保存和關閉;Web頁的刷新﹑前進﹑返回等。

      編寫界面部分主要應用FLTK窗口部件,FLTK提供了比較豐富的控件,如:按鈕﹑滾動條﹑文本框﹑對話框﹑列表框等等。所有這些窗口部件的框架類都在FLNK(FLTK移植到的Nano-X API上的版本)的文件夾FL中包含的100個頭文件中定義。ViewML中窗口的實現是通過創建類VMLAppWindow來構建基本的圖形用戶界面?,其中只包括三個函數:VMLAppWindow(int x, int y, int w, int h) : PARENT_WINDOW(x,y,w,h,"ViewML Browser") { },virtual void resize_notify(int x, int y, int w, int h),virtual int handle(int event);}在圖形界面上添加按鈕save,open,reload,forword,backward等,需在類VMLAppWindow中定義的相應函數。

      extern Fl_Button *Save

      extern Fl_Button *Open

      extern Fl_Button *Forward;

      extern Fl_Button *Backward;

      extern Fl_Button *Reload;

      詳情參閱頭文件Fl_Window.H,f Fl_Widget.H.編寫好圖形界面后,通過響應鼠標事件將圖形和相應的事件關聯起來。

      在ViewML應用層中原有兩個函數static int send(Fl_Widget* o, int event):向HTTP發送請求并將請求事例放入隊列;int VMLAppWindow::handle(int event):調用線程對事例隊列進行處理。除了實例化上面定義的函數,在這里還加入處理網頁的保存,后退,前進的函數都要用到的函數int VMLAppWindow::temp(int event),其功能是臨時保存網頁。其處理流程為:

      (1)在處理事例隊列為非空時,從隊列中取出一處理過的HTTP請求

      (2)將HTTP請求結果用HTML三步:Tokenizer , HTNL-Parser , HTML-Layout進行處理

      (3)把HTTP處理的結果加入臨時保存隊列中

      (4)從處理事例隊列中刪除此請求結果

      隊列采用鏈表實現,當需要從當前頁面后退時,其處理流程為:

      (1)捕獲鼠標事件

      (2)從隊首搜索至工作指針的下一個元素為當前指針時,當前指針后退

      (3)將當前指針所指向的元素調用HTML引擎處理

      前進和刷新功能實現流程與后退類似,這里就不贅敘了。保存當前HTM法略微復雜些,因為在保存頁面時還要同時保存頁面中的圖像文件,算法如下:

      (1)輸入存盤路徑和文件名

      (2)對文件名進行自動處理如加上后綴htm,創建一個目錄,以files為后綴存放圖形文件

      (3)從臨時保存隊列中取當前指針,指針為非頭指針時取其所指向HTML文件,處理文件。

      (4)將文件存入磁盤

      基于嵌入式系統的硬件條件有限,無存儲量大的磁盤等設備。,且FLASH或ROM等存儲介質的價格相對于臺式機上使用的硬盤﹑光盤等是比較昂貴的。所以嵌入式系統只能以小巧且高效來贏得市場。完善了窗口功能的系統完全能滿足大部分用戶的應用需求了。

      4結束語

      當前通訊正在快速地成為嵌入式系統的一般需求。本文主要闡述了一種新的嵌入式系統,支持圖形界面,支持瀏覽器。該系統已在自主開發的硬件平臺上成功運行了。在以后的工作中將致力于在該系統中增加更全面的功能,如對Java虛擬機的支持,增加郵件收發等。

    linux相關文章:linux教程


    pos機相關文章:pos機原理


    電荷放大器相關文章:電荷放大器原理

    上一頁 1 2 3 下一頁

    關鍵詞: EP7312 Microwindows

    評論


    相關推薦

    技術專區

    關閉
    主站蜘蛛池模板: 西丰县| 沐川县| 延长县| 景谷| 波密县| 黄骅市| 南宁市| 澜沧| 葫芦岛市| 鄂伦春自治旗| 承德市| 乌恰县| 玉溪市| 雷州市| 黄陵县| 鄄城县| 邯郸市| 汕头市| 田阳县| 长白| 通化县| 肥东县| 宜城市| 麟游县| 赫章县| 武胜县| 南汇区| 白山市| 娄底市| 阜城县| 德钦县| 弥渡县| 龙江县| 伊宁县| 广昌县| 潜山县| 临邑县| 铜鼓县| 江西省| 瓦房店市| 巴马|