在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<abbr id="27omo"></abbr>

<menu id="27omo"><dl id="27omo"></dl></menu>
    • <label id="27omo"><tt id="27omo"></tt></label>

      新聞中心

      EEPW首頁 > 光電顯示 > 設(shè)計(jì)應(yīng)用 > 一種用于嵌入式系統(tǒng)的液晶顯示單元設(shè)計(jì)

      一種用于嵌入式系統(tǒng)的液晶顯示單元設(shè)計(jì)

      作者: 時(shí)間:2009-03-25 來源:網(wǎng)絡(luò) 收藏

      狀態(tài)0: 準(zhǔn)備接收一幀數(shù)據(jù)
      狀態(tài)1: 正在接收一幀數(shù)據(jù),且上一次接收到的字節(jié)不是轉(zhuǎn)義字符
      狀態(tài)2: 正在接收一幀數(shù)據(jù),且上一次接收到的字節(jié)是轉(zhuǎn)義字符
      接收一個(gè)字節(jié)后,根據(jù)當(dāng)前狀態(tài)和接收到的字符a,進(jìn)行狀態(tài)轉(zhuǎn)換,并舍棄轉(zhuǎn)義字符等多余字節(jié),將有效數(shù)據(jù)放入接收緩沖數(shù)組。當(dāng)接收到有效的結(jié)束符END后,單片機(jī)將置緩沖滿標(biāo)志。單片機(jī)讀到該標(biāo)志,即可分析緩沖區(qū)中的數(shù)據(jù),執(zhí)行相應(yīng)顯示操作,并在操作后,清除緩沖滿標(biāo)志并向的主CPU發(fā)出可以接收數(shù)據(jù)的應(yīng)答字符(0x55)。

      本文引用地址:http://www.biyoush.com/article/169529.htm

      3.圖形用戶界面()程序
      前述已能滿足簡(jiǎn)單的顯示要求。在此基礎(chǔ)上本文使用C語言編寫了通用的程序,出類VB的包含窗體和簡(jiǎn)單控件的界面,實(shí)現(xiàn)簡(jiǎn)單的可視化的操作:如按鈕按壓、文本輸入、標(biāo)簽顯示、選擇框選擇、軟件菜單、窗體加載、位圖顯示、控件的Tab聚焦等。程序采用分層和模塊化的思想,其分層結(jié)構(gòu)如圖3所示。這樣,可以減少程序間的耦合,便于程序的完善和升級(jí)。

      3.1 邏輯設(shè)備層基本繪圖函數(shù)(LD.C)
      最底層的硬件設(shè)備層的繪圖函數(shù)(HD.C)是顯示命令幀的發(fā)送,采用液晶屏的絕對(duì)坐標(biāo)(屏左上角為坐標(biāo)零點(diǎn))繪圖,邏輯設(shè)備層的函數(shù)則是基于用戶定義的當(dāng)前“窗口”相對(duì)坐標(biāo)(窗口左上角為坐標(biāo)零點(diǎn))繪圖,窗口的位置任意。這里說的“窗口”就是當(dāng)前顯示的可操作范圍,也稱為“窗口上下文”。
      繪圖工具函數(shù)是一些內(nèi)聯(lián)函數(shù)和宏定義,創(chuàng)建當(dāng)前的窗口上下文,完成絕對(duì)坐標(biāo)與相對(duì)坐標(biāo)相互轉(zhuǎn)換,進(jìn)行繪圖元素的移動(dòng)、復(fù)制,設(shè)置字間距、行間距等?;诖翱诓脺p的繪圖函數(shù)調(diào)用各種繪圖工具函數(shù)和硬件設(shè)備層的繪圖函數(shù),實(shí)現(xiàn)了點(diǎn)、線、漢字、字符、平面和3D矩形框的繪制,位圖加載等,并將超出窗口范圍的部分裁減掉(忽略不畫)。
      3.2 窗體/控件的設(shè)計(jì)
      窗體(Form)和控件全部由結(jié)構(gòu)體來定義。簡(jiǎn)單控件的共性是均為矩形框(平面的或3D的),所以都可以由公共結(jié)構(gòu)體Gwidget加上各自的個(gè)性化屬性和行為方式派生得到??丶傩裕ɑ驙顟B(tài))包括:按下/彈起(對(duì)Button控件)、聚焦/失去焦點(diǎn)、允許/禁止接受用戶輸入(區(qū)分Label和Text)等?;贕Widget可以派生Button、Label、Text、SelBox、menu等控件。Gwidget結(jié)構(gòu)體成員包括“窗口”信息、控件ID(唯一標(biāo)識(shí)一個(gè)控件)、控件屬性/狀態(tài)、控件邊界寬度(實(shí)現(xiàn)3D顯示)、默認(rèn)的控件消息響應(yīng)函數(shù)指針(如ButtonOnMsg)。
      窗體(Form)既是一個(gè)獨(dú)立的實(shí)體,又是控件的容器,管理屬于它的所有控件并傳遞和響應(yīng)消息。其結(jié)構(gòu)體成員主要有:窗口上下文、消息響應(yīng)函數(shù)指針、標(biāo)題字符串指針、所含的控件數(shù)組指針、所含控件數(shù)、當(dāng)前聚焦的控件ID等。
      3.3 消息響應(yīng)機(jī)制
      針對(duì)具體的應(yīng)用要求,可以設(shè)計(jì)出各種各樣的窗體(界面),每一個(gè)窗體包含多個(gè)控件。有的控件可以接受用戶字符串和數(shù)字輸入(Text控件)。這些窗體通過軟件菜單組織起來。菜單為多叉樹結(jié)構(gòu),最下一級(jí)菜單指向一個(gè)窗體或執(zhí)行某個(gè)功能。同一級(jí)菜單包含并管理一個(gè)或多個(gè)菜單項(xiàng)。菜單結(jié)構(gòu)體成員主要有:包含各菜單項(xiàng)的數(shù)組指針、菜單項(xiàng)個(gè)數(shù)、指向上級(jí)菜單的指針(可以為空)等,而菜單項(xiàng)結(jié)構(gòu)體則包含指向下一級(jí)菜單的指針(可以為空)、指向一個(gè)窗體的指針(可以為空)、消息響應(yīng)函數(shù)指針等。主程序和GUI之間的消息傳遞(或函數(shù)調(diào)用)機(jī)制如圖4所示,虛線空心箭頭指示消息的傳遞方向。

      4.結(jié)束語
      本文設(shè)計(jì)的具有接口,不僅在接入方面提供了方便,也為在設(shè)計(jì)時(shí),使用PC機(jī)并行地進(jìn)行顯示軟件設(shè)計(jì)提供了途徑。用C語言編寫的GUI程序可以方便地移植到各種基于操作系統(tǒng)的應(yīng)用中,占用空間小,使用簡(jiǎn)單,通用性好,能滿足一些較復(fù)雜界面顯示的要求,其已經(jīng)在筆者開發(fā)的多個(gè)嵌入式系統(tǒng)中得到應(yīng)用。

      linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)

      上一頁 1 2 下一頁

      評(píng)論


      相關(guān)推薦

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

      關(guān)閉