www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁(yè) > 嵌入式 > 嵌入式硬件

在常見(jiàn)的移動(dòng)終端等小型手持式設(shè)備上,由于硬件條件等的限制,我們看到的用戶界面都非常簡(jiǎn)單,幾乎看不到PC機(jī)上華麗美觀的GUI支持。隨著硬件條件的提高,移動(dòng)終端的嵌入式系統(tǒng)對(duì)輕量級(jí)GUI的需求會(huì)越來(lái)越迫切。用戶界面是指計(jì)算機(jī)與其使用者之間的對(duì)話接口,它為用戶提供與應(yīng)用系統(tǒng)交互的可視化通道,同時(shí)為程序員提供了一種編程模式,即GUI負(fù)責(zé)系統(tǒng)的可視化界面的生成、管理以及系統(tǒng)與用戶之間的信息交互,而程序員只需專注于對(duì)實(shí)際應(yīng)用的分析。GUI在移動(dòng)終端系統(tǒng)中扮演著很重要的角色,它運(yùn)行在操作系統(tǒng)抽象層(OSAL)之上,為應(yīng)用程序提供基于消息機(jī)制的圖形用戶界面編程接口。GUI與其他一些應(yīng)用引擎一起為實(shí)現(xiàn)豐富的移動(dòng)終端應(yīng)用而提供支持,從而將應(yīng)用程序的計(jì)算部分與界面分離開(kāi)來(lái),這樣就充分保證了根據(jù)不同需求快速定制出功能強(qiáng)大、界面豐富的應(yīng)用程序界面。

GUI是GraphicalUserInterface的簡(jiǎn)稱,即圖形用戶界面,通常人機(jī)交互圖形化用戶界面設(shè)計(jì)經(jīng)常讀做"goo-ee",準(zhǔn)確來(lái)說(shuō)GUI就是屏幕產(chǎn)品的視覺(jué)體驗(yàn)和互動(dòng)操作部分。GUI是一種結(jié)合計(jì)算機(jī)科學(xué)、美學(xué)、心理學(xué)、行為學(xué),及各商業(yè)領(lǐng)域需求分析的人機(jī)系統(tǒng)工程,強(qiáng)調(diào)人-機(jī)-環(huán)境三者作為一個(gè)系統(tǒng)進(jìn)行總體設(shè)計(jì)。GUI即人機(jī)交互圖形化用戶界面設(shè)計(jì)??v觀國(guó)際相關(guān)產(chǎn)業(yè)在圖形化用戶界面設(shè)計(jì)方面的發(fā)展現(xiàn)狀,許多國(guó)際知名公司早已意識(shí)到GUI在產(chǎn)品方面產(chǎn)生的強(qiáng)大增值功能,以及帶動(dòng)的巨大市場(chǎng)價(jià)值,因此在公司內(nèi)部設(shè)立了相關(guān)部門專門從事GUI的研究與設(shè)計(jì),同業(yè)間也成立了若干機(jī)構(gòu),以互相交流GUI設(shè)計(jì)理論與經(jīng)驗(yàn)為目的。隨著中國(guó)IT產(chǎn)業(yè),移動(dòng)通訊產(chǎn)業(yè),家電產(chǎn)業(yè)的迅猛發(fā)展,在產(chǎn)品的人機(jī)交互界面設(shè)計(jì)水平發(fā)展上日顯滯后,這對(duì)于提高產(chǎn)業(yè)綜合素質(zhì),提升與國(guó)際同等業(yè)者的競(jìng)爭(zhēng)能力等等方面無(wú)疑起了制約的作用。

1 GUI和操作系統(tǒng)的功能架構(gòu)

GUl對(duì)上層(應(yīng)用程序)提供了基于事件或消息驅(qū)動(dòng)的圖形界面處理機(jī)制;它依賴于底層的操作系統(tǒng),但是不限于某一類操作系統(tǒng)。功能架構(gòu)如圖1所示。


應(yīng)用程序一般都有自己的消息循環(huán):



其中,GetMessage()得到本先線程的消息。如果沒(méi)有消息則檢查有沒(méi)有窗口需要重繪;如有則直接給相應(yīng)的窗口發(fā)WM_PAINT消息;如果還沒(méi)有,就會(huì)掛起本線程。TranslateMessage():如果當(dāng)前的消息是WM_KEYDOWN,則根據(jù)鍵值轉(zhuǎn)換中相應(yīng)的WM_CHAR消息。DispatchMessage():將消息派發(fā)到指定的窗口。如果這個(gè)消息沒(méi)有指定目標(biāo)窗口則這個(gè)消息丟掉,因此,對(duì)于給線程發(fā)送的消息(未指定窗口),用戶必須在此截獲并由用戶自己派發(fā)。

窗口的管理需要每一個(gè)窗口有3個(gè)基本的鏈:子窗口→children;父窗口→parent;兄弟窗口→sibling,其中,rootwp窗口是GUI初始化時(shí)創(chuàng)建的根窗口。根窗口的子窗口一般是POPU窗口或沒(méi)有Child屬性的OVERLAPPEDWINDOW;每個(gè)AP或線程可以有多個(gè)這樣的窗口。創(chuàng)建窗口前,必須注冊(cè)窗口類;窗口類是一種具有相同屬性或動(dòng)作的窗口的集合,相當(dāng)于某一類窗口的橫板,這類窗口具有相同的窗口過(guò)程、窗口背景、基本風(fēng)格等,屬于同一個(gè)線程(WIN32是實(shí)例)。所有的窗口都是某一窗口類的一個(gè)實(shí)例。窗口類以名字作為ID,但是不同的進(jìn)程可以擁有相同名字的窗口類。

消息的傳遞機(jī)制需要在GUI初始化時(shí)創(chuàng)建一個(gè)優(yōu)先級(jí)別很高的后臺(tái)服務(wù)線程,專門從事消息獲取與派發(fā)。沒(méi)有任何消息時(shí),該線程掛起。一旦驅(qū)動(dòng)層有任何消息觸發(fā),都將恢復(fù)該線程,進(jìn)入驅(qū)動(dòng)消息查詢。然后將查詢到的消息經(jīng)過(guò)轉(zhuǎn)換后,或者轉(zhuǎn)發(fā)到桌面,或者直接發(fā)送給指定窗口。以筆點(diǎn)點(diǎn)擊為例:Micro Window將筆點(diǎn)消息解釋為鼠標(biāo)消息,對(duì)應(yīng)鼠標(biāo)的左鍵。產(chǎn)生的消息有:WM_MOVE,WM_LBUTTONDOWN,WM_ LB UTTONUP,WM_LBUTTONDBCLK,WM_NCLBUTTONDOWN,WM_NCILBUTTONUP,WM_LBUTTONDBCLK等。筆點(diǎn)時(shí)產(chǎn)生Touchpannel中斷,經(jīng)過(guò)Driver層處理后,將喚醒GUl后臺(tái)線程,后者從Driver層獲取筆點(diǎn)的消息和坐標(biāo),結(jié)合上一次的筆點(diǎn)座標(biāo)信息,生成一定的鼠標(biāo)消息;根據(jù)坐標(biāo),在窗口鏈中查找筆點(diǎn)所在的窗口;如果有捕獲窗口,直接發(fā)給此窗口。

GDI是GraphicsDeviceInterface的縮寫,含義是圖形設(shè)備接口,它的主要任務(wù)是負(fù)責(zé)系統(tǒng)與繪圖程序之間的信息交換,處理所有Windows程序的圖形輸出。Windows操作系統(tǒng)下,絕大多數(shù)具備圖形界面的應(yīng)用程序都離不開(kāi)GDI,我們利用GDI所提供的眾多函數(shù)就可以方便的在屏幕、打印機(jī)及其它輸出設(shè)備上輸出圖形,文本等操作。GDI的出現(xiàn)使程序員無(wú)需要關(guān)心硬件設(shè)備及設(shè)備驅(qū)動(dòng),就可以將應(yīng)用程序的輸出轉(zhuǎn)化為硬件設(shè)備上的輸出,實(shí)現(xiàn)了程序開(kāi)發(fā)者與硬件設(shè)備的隔離,大大方便了開(kāi)發(fā)工作。

絕大多數(shù)的圖形設(shè)備接口(GDI)函數(shù)都是基于DC的。DC是一種圖形設(shè)備上下文環(huán)境。它集成了當(dāng)前繪制操作的所有信息,包括輸出的屏幕設(shè)備、字體、筆的屬性、光柵特點(diǎn)等。在繪制操作之前必須得到設(shè)備上下文。而且在得到DC的期間,不能阻塞。否則容易造成死鎖。獲取DC的方式有3種:

(1)GetDC:獲取客戶區(qū)DC,限于在客戶區(qū)的繪制操作;

(2)GetWindowDC:獲取屏幕DC,可以在客戶區(qū)和標(biāo)題區(qū)繪制操作;

(3)BeginPaint:獲取客戶區(qū)DC,限于且推薦在WM_PAINT消息中調(diào)用。

MicroWindow不保存用戶區(qū)的繪制內(nèi)容,需要更新時(shí),只會(huì)發(fā)送WM-PAINT消息;所以比較標(biāo)準(zhǔn)的做法是將圖形繪制操作全部放進(jìn)WM_PAINT中去,采用BeginPaint獲取DC.

內(nèi)存設(shè)備上下文(MemoryDC)是一種虛擬的圖形設(shè)備上下文環(huán)境,也就是所謂的虛屏。有時(shí)為了避免屏幕閃爍感,把不連續(xù)的圖形內(nèi)容繪制到MemoryDC中,然后統(tǒng)一繪制到真正的屏幕設(shè)備上去;有助于提高畫面的連續(xù)性和完整性,下面是使用MemoryDC繪制位圖并疊加文字的例子:



系統(tǒng)數(shù)據(jù)資源采用VC的Resource標(biāo)準(zhǔn)數(shù)據(jù)格式,主要應(yīng)用在3類:系統(tǒng)資源、公共資源、應(yīng)用程序私有的資源。資源內(nèi)容包括位圖、ICO-N、String、對(duì)話框、BIN數(shù)據(jù)等。在VC中需要事先做好所需的資源,生成資源數(shù)據(jù)。res和資源頭文件resource.h.在不同的平臺(tái)中,資源數(shù)據(jù)在物理介質(zhì)中的存放方式不同,但AP訪問(wèn)資源的方式可以相同。系統(tǒng)平臺(tái)同時(shí)還支持應(yīng)用程序顯式加載資源的方式。對(duì)話框提供了一種簡(jiǎn)化Window編碼工作的機(jī)會(huì)。它分為兩類:模態(tài)對(duì)話框和非模態(tài)對(duì)話框。差別在于模態(tài)對(duì)話框有自己的消息循環(huán)。

應(yīng)用程序的編譯和連接方式依賴于具體的硬件開(kāi)發(fā)平臺(tái)。就移動(dòng)終端而言,CPU若采用ARM7系列,編譯工具使用ADS,應(yīng)用程序和操作系統(tǒng)集成在一起編譯。需要注意的是C文件采用thumb模式,而ASM文件采用的是ARM模式。而Linux平臺(tái)下應(yīng)用程序的編譯連接是獨(dú)立完成的,最終生成exe文件,然后在打包成pak文件下載到硬件板中。

2 結(jié)語(yǔ)

由于移動(dòng)終端的應(yīng)用越來(lái)越廣泛,而嵌入式GUI系統(tǒng)是一項(xiàng)復(fù)雜的軟件工程,因此研究和設(shè)計(jì)的GUI占用資源少、可配置,特別適用于移動(dòng)終端。它給終端上層應(yīng)用提供了一個(gè)清晰的圖形界面。同時(shí),在將它用于多種終端平臺(tái)時(shí)還需要盡可能考慮其可擴(kuò)展性、兼容性、可移植性等屬性。為后繼終端軟件應(yīng)用開(kāi)發(fā)建立了良好的開(kāi)發(fā)基礎(chǔ),性能優(yōu)越且易于移植,已經(jīng)成功應(yīng)用于Linux和Windows CE等嵌入式操作系統(tǒng)的無(wú)線移動(dòng)多媒體終端項(xiàng)目中,效果理想。由于限于篇幅,不再贅述。




QICK

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

LED驅(qū)動(dòng)電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: 驅(qū)動(dòng)電源

在工業(yè)自動(dòng)化蓬勃發(fā)展的當(dāng)下,工業(yè)電機(jī)作為核心動(dòng)力設(shè)備,其驅(qū)動(dòng)電源的性能直接關(guān)系到整個(gè)系統(tǒng)的穩(wěn)定性和可靠性。其中,反電動(dòng)勢(shì)抑制與過(guò)流保護(hù)是驅(qū)動(dòng)電源設(shè)計(jì)中至關(guān)重要的兩個(gè)環(huán)節(jié),集成化方案的設(shè)計(jì)成為提升電機(jī)驅(qū)動(dòng)性能的關(guān)鍵。

關(guān)鍵字: 工業(yè)電機(jī) 驅(qū)動(dòng)電源

LED 驅(qū)動(dòng)電源作為 LED 照明系統(tǒng)的 “心臟”,其穩(wěn)定性直接決定了整個(gè)照明設(shè)備的使用壽命。然而,在實(shí)際應(yīng)用中,LED 驅(qū)動(dòng)電源易損壞的問(wèn)題卻十分常見(jiàn),不僅增加了維護(hù)成本,還影響了用戶體驗(yàn)。要解決這一問(wèn)題,需從設(shè)計(jì)、生...

關(guān)鍵字: 驅(qū)動(dòng)電源 照明系統(tǒng) 散熱

根據(jù)LED驅(qū)動(dòng)電源的公式,電感內(nèi)電流波動(dòng)大小和電感值成反比,輸出紋波和輸出電容值成反比。所以加大電感值和輸出電容值可以減小紋波。

關(guān)鍵字: LED 設(shè)計(jì) 驅(qū)動(dòng)電源

電動(dòng)汽車(EV)作為新能源汽車的重要代表,正逐漸成為全球汽車產(chǎn)業(yè)的重要發(fā)展方向。電動(dòng)汽車的核心技術(shù)之一是電機(jī)驅(qū)動(dòng)控制系統(tǒng),而絕緣柵雙極型晶體管(IGBT)作為電機(jī)驅(qū)動(dòng)系統(tǒng)中的關(guān)鍵元件,其性能直接影響到電動(dòng)汽車的動(dòng)力性能和...

關(guān)鍵字: 電動(dòng)汽車 新能源 驅(qū)動(dòng)電源

在現(xiàn)代城市建設(shè)中,街道及停車場(chǎng)照明作為基礎(chǔ)設(shè)施的重要組成部分,其質(zhì)量和效率直接關(guān)系到城市的公共安全、居民生活質(zhì)量和能源利用效率。隨著科技的進(jìn)步,高亮度白光發(fā)光二極管(LED)因其獨(dú)特的優(yōu)勢(shì)逐漸取代傳統(tǒng)光源,成為大功率區(qū)域...

關(guān)鍵字: 發(fā)光二極管 驅(qū)動(dòng)電源 LED

LED通用照明設(shè)計(jì)工程師會(huì)遇到許多挑戰(zhàn),如功率密度、功率因數(shù)校正(PFC)、空間受限和可靠性等。

關(guān)鍵字: LED 驅(qū)動(dòng)電源 功率因數(shù)校正

在LED照明技術(shù)日益普及的今天,LED驅(qū)動(dòng)電源的電磁干擾(EMI)問(wèn)題成為了一個(gè)不可忽視的挑戰(zhàn)。電磁干擾不僅會(huì)影響LED燈具的正常工作,還可能對(duì)周圍電子設(shè)備造成不利影響,甚至引發(fā)系統(tǒng)故障。因此,采取有效的硬件措施來(lái)解決L...

關(guān)鍵字: LED照明技術(shù) 電磁干擾 驅(qū)動(dòng)電源

開(kāi)關(guān)電源具有效率高的特性,而且開(kāi)關(guān)電源的變壓器體積比串聯(lián)穩(wěn)壓型電源的要小得多,電源電路比較整潔,整機(jī)重量也有所下降,所以,現(xiàn)在的LED驅(qū)動(dòng)電源

關(guān)鍵字: LED 驅(qū)動(dòng)電源 開(kāi)關(guān)電源

LED驅(qū)動(dòng)電源是把電源供應(yīng)轉(zhuǎn)換為特定的電壓電流以驅(qū)動(dòng)LED發(fā)光的電壓轉(zhuǎn)換器,通常情況下:LED驅(qū)動(dòng)電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: LED 隧道燈 驅(qū)動(dòng)電源
關(guān)閉