<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于EP7312的新型嵌入式系統(tǒng)的實(shí)現(xiàn)

          基于EP7312的新型嵌入式系統(tǒng)的實(shí)現(xiàn)

          作者: 時(shí)間:2015-05-25 來(lái)源:網(wǎng)絡(luò) 收藏

            3 ViewML窗口界面的改進(jìn)

          本文引用地址:http://www.ex-cimer.com/article/274679.htm

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

            編寫界面部分主要應(yīng)用FLTK窗口部件,F(xiàn)LTK提供了比較豐富的控件,如:按鈕﹑滾動(dòng)條﹑文本框﹑對(duì)話框﹑列表框等等。所有這些窗口部件的框架類都在FLNK(FLTK移植到的Nano-X API上的版本)的文件夾FL中包含的100個(gè)頭文件中定義。ViewML中窗口的實(shí)現(xiàn)是通過(guò)創(chuàng)建類VMLAppWindow來(lái)構(gòu)建基本的圖形用戶界面?,其中只包括三個(gè)函數(shù):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中定義的相應(yīng)函數(shù)。

            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.編寫好圖形界面后,通過(guò)響應(yīng)鼠標(biāo)事件將圖形和相應(yīng)的事件關(guān)聯(lián)起來(lái)。

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

            (1)在處理事例隊(duì)列為非空時(shí),從隊(duì)列中取出一處理過(guò)的HTTP請(qǐng)求

            (2)將HTTP請(qǐng)求結(jié)果用HTML三步:Tokenizer , HTNL-Parser , HTML-Layout進(jìn)行處理

            (3)把HTTP處理的結(jié)果加入臨時(shí)保存隊(duì)列中

            (4)從處理事例隊(duì)列中刪除此請(qǐng)求結(jié)果

            隊(duì)列采用鏈表實(shí)現(xiàn),當(dāng)需要從當(dāng)前頁(yè)面后退時(shí),其處理流程為:

            (1)捕獲鼠標(biāo)事件

            (2)從隊(duì)首搜索至工作指針的下一個(gè)元素為當(dāng)前指針時(shí),當(dāng)前指針后退

            (3)將當(dāng)前指針?biāo)赶虻脑卣{(diào)用HTML引擎處理

            前進(jìn)和刷新功能實(shí)現(xiàn)流程與后退類似,這里就不贅敘了。保存當(dāng)前HTM法略微復(fù)雜些,因?yàn)樵诒4骓?yè)面時(shí)還要同時(shí)保存頁(yè)面中的圖像文件,算法如下:

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

            (2)對(duì)文件名進(jìn)行自動(dòng)處理如加上后綴htm,創(chuàng)建一個(gè)目錄,以files為后綴存放圖形文件

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

            (4)將文件存入磁盤

            基于嵌入式系統(tǒng)的硬件條件有限,無(wú)存儲(chǔ)量大的磁盤等設(shè)備。,且FLASH或ROM等存儲(chǔ)介質(zhì)的價(jià)格相對(duì)于臺(tái)式機(jī)上使用的硬盤﹑光盤等是比較昂貴的。所以嵌入式系統(tǒng)只能以小巧且高效來(lái)贏得市場(chǎng)。完善了窗口功能的系統(tǒng)完全能滿足大部分用戶的應(yīng)用需求了。

            4結(jié)束語(yǔ)

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

          linux相關(guān)文章:linux教程


          pos機(jī)相關(guān)文章:pos機(jī)原理


          電荷放大器相關(guān)文章:電荷放大器原理

          上一頁(yè) 1 2 3 下一頁(yè)

          關(guān)鍵詞: EP7312 Microwindows

          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();